JP4833555B2 - Enhanced method of m-sequence decoding and error correction - Google Patents
Enhanced method of m-sequence decoding and error correction Download PDFInfo
- Publication number
- JP4833555B2 JP4833555B2 JP2005001436A JP2005001436A JP4833555B2 JP 4833555 B2 JP4833555 B2 JP 4833555B2 JP 2005001436 A JP2005001436 A JP 2005001436A JP 2005001436 A JP2005001436 A JP 2005001436A JP 4833555 B2 JP4833555 B2 JP 4833555B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- image
- bit
- captured image
- decoding
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection 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/0321—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Error Detection And Correction (AREA)
Description
本発明は、デジタルペンを使用した媒体との対話に関する。より詳細には、本発明は、1つまたは複数の面との対話中のデジタルペンの位置の判定に関する。 The present invention relates to interaction with a medium using a digital pen. More particularly, the present invention relates to determining the position of a digital pen during interaction with one or more surfaces.
コンピュータユーザは、パーソナルコンピュータとの対話の一手段としていつもマウスおよびキーボードを使用している。パーソナルコンピュータは、手書きの文書よりいくつかの利点を提供するが、ほとんどのユーザは、印刷物を使用して引き続きいくつかの機能を実行する。こうした機能の一部は、書類を読み、それに注釈を付すことを含む。注釈を付す場合、ユーザによって注釈が付されるため、印刷文書はより大きい意味を帯びる。しかし、注釈付きの印刷文書を持つことに関する問題の1つは、注釈を後で電子形式の文書に入れ直す必要があることである。これは、元のユーザまたは別のユーザが注釈を苦労して読み取り、それらをパーソナルコンピュータに入力することを必要とする。場合によっては、ユーザは、注釈および元のテキストをスキャナで取り込み、それによって新しい文書を作成する。こうした複数のステップは、印刷文書と電子版の文書との間の相互作用を繰り返して扱うのを難しくする。さらに、スキャナで取り込まれた画像は変更できないことが多い。元のテキストから注釈を分離する方法はない。このことは注釈の使用を難しくする。したがって、注釈を処理する改良された方法が必要である。 Computer users always use a mouse and keyboard as a means of interaction with a personal computer. Personal computers offer several advantages over handwritten documents, but most users continue to perform several functions using printed materials. Some of these functions include reading documents and annotating them. When annotating, the printed document is more meaningful because it is annotated by the user. However, one problem with having an annotated printed document is that the annotation must later be re-entered into an electronic document. This requires the original user or another user to read the annotations and enter them into a personal computer. In some cases, the user captures annotations and original text with a scanner, thereby creating a new document. These multiple steps make it difficult to repeatedly handle the interaction between a printed document and an electronic version of the document. In addition, images captured by a scanner often cannot be changed. There is no way to separate the annotation from the original text. This makes it difficult to use annotations. Therefore, there is a need for an improved method for processing annotations.
手書きの情報を捕捉する1つの技術は、筆記中にその位置を判定できるペンを使用することによるものである。この機能を備える1つのペンは、Anoto Inc.によるAnotoペンである。このペンは、カメラを使用して定義済みパターンでエンコードされた用紙の画像を捕捉することによって機能する。画像パターンの一例を図11に示している。このパターンを(Anoto Inc.による)Anotoペンが使用して用紙上のペンの位置を判定する。しかし、Anotoペンが使用しているシステムによる位置の判定がどの程度効率的かは不明瞭である。捕捉画像の位置の効率的な判定を提供するために、捕捉画像の効率的なデコーディングを提供するシステムが必要である。 One technique for capturing handwritten information is by using a pen that can determine its position during writing. One pen with this function is Anoto Inc. Anoto pen. This pen works by using a camera to capture an image of the paper encoded with a predefined pattern. An example of the image pattern is shown in FIG. This pattern is used by the Anoto pen (according to Anoto Inc.) to determine the position of the pen on the paper. However, it is unclear how efficient the position determination by the system used by the Anoto pen is. In order to provide an efficient determination of the position of the captured image, a system is needed that provides efficient decoding of the captured image.
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている(例えば、非特許文献1参照)。 Several documents disclose technical contents related to the above-described conventional technique (for example, see Non-Patent Document 1).
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。 The conventional system has various problems as described above, and further improvement is desired.
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、m配列(array)のデコーディングおよびエラー訂正の強化された手法を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide an enhanced technique for decoding and error correction of an m array.
本発明の態様は、上記の問題のうちの少なくとも1つに対する解決策を提供し、それによって定義済みパターンで表示された文書上の捕捉画像の位置を突き止めることができる。表示された文書は、定義済みパターンで、用紙、LCD(liquid crystal display)画面、または他の任意の媒体上にあってよい。本発明の態様は、捕捉画像の効率的なデコーディングを可能にし、画像の位置の効率的な判定を提供できるようにするデコーディングプロセスを含む。 Aspects of the invention can provide a solution to at least one of the above problems, thereby locating a captured image on a document displayed in a predefined pattern. The displayed document may be in a predefined pattern on paper, an LCD (liquid crystal display) screen, or any other medium. Aspects of the invention include a decoding process that enables efficient decoding of a captured image and that can provide an efficient determination of the position of the image.
本発明の一態様によれば、デコーディングプロセスは、捕捉画像から抽出されたビットからビットのサブセットを適切に選択する。本発明の別の態様によれば、プロセスは、デコーディングプロセスが実行する反復回数を調整する。本発明の別の態様によれば、プロセスは、X、Y座標が宛先エリアなどの位置の制約(local constraint)と一致するように、抽出ビットの位置のX、Y座標を判定する。本発明のこれらおよび他の態様は、以下の図面および関連の説明を介して理解できるようになる。 According to one aspect of the present invention, the decoding process appropriately selects a subset of bits from the bits extracted from the captured image. According to another aspect of the invention, the process adjusts the number of iterations that the decoding process performs. According to another aspect of the present invention, the process determines the X, Y coordinates of the extracted bit position such that the X, Y coordinates match a local constraint such as a destination area. These and other aspects of the invention will be understood through the following drawings and related description.
本発明の上記の概要、および下記の好適実施形態の詳細な説明は、添付の図面と併せ読めばよりよく理解できる。添付の図面は、一例として含まれており、主張した本発明に関する限定のためのものではない。 The foregoing summary, as well as the following detailed description of the preferred embodiments, can be better understood when read in conjunction with the appended drawings. The accompanying drawings are included as examples and are not intended as limitations on the claimed invention.
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。本発明の態様は、より大きい画像に対して捕捉画像の位置を判定することに関する。本明細書に記載した位置判定方法およびシステムを、多機能ペンとともに使用することができる。 Embodiments to which the present invention can be applied will be described below in detail with reference to the drawings. Aspects of the invention relate to determining the position of a captured image relative to a larger image. The position determination method and system described herein can be used with a multifunction pen.
下記は、読者のために副題によって区切られている。副題は、用語、汎用コンピュータ、画像捕捉ペン、配列(array)のエンコーディング、デコーディング、エラー訂正、および位置判定を含む。 The following are separated by subtitles for the reader. Subtitles include terminology, general purpose computers, image capture pens, array encoding, decoding, error correction, and position determination.
用語
ペン−何らかの筆記用具。インクを蓄える機能を含んでいても、含んでいなくてもよい。一部の例では、本発明の実施形態によるペンとしてインク機能のないスタイラスを使用することができる。
The term pen-any writing instrument. It may or may not include a function of storing ink. In some examples, a stylus without ink function can be used as a pen according to embodiments of the present invention.
カメラ−用紙または他の任意の媒体から画像を捕捉し得る画像捕捉システム。 Camera—an image capture system that can capture images from paper or any other medium.
汎用コンピュータ
図1は、本発明の様々な態様の実施に使用できる従来の汎用デジタルコンピューティング環境の例の機能ブロック図である。図1では、コンピュータ100は、処理ユニット110、システムメモリ120、およびシステムメモリを含む様々なシステム構成要素を処理ユニット110に結合するシステムバス130を含む。システムバス130は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。システムメモリ120は、読み取り専用メモリ(ROM)140およびランダムアクセスメモリ(RAM)150を含む。
General Purpose Computer FIG. 1 is a functional block diagram of an example of a conventional general purpose digital computing environment that can be used to implement various aspects of the present invention. In FIG. 1,
BIOS(Basic Input/Output System)160は、例えば起動中など、コンピュータ100内の要素間での情報の転送を助ける基本ルーチンを含み、ROM140に格納されている。コンピュータ100は、ハードディスク(図示せず)から読み取り、そこに書き込むハードディスクドライブ170、リムーバブル磁気ディスク190から読み取り、あるいはそこに書き込む磁気ディスクドライブ180、およびCD(compact disc)−ROMや他の光媒体など、リムーバブル光ディスク192から読み取り、あるいはそこに書き込む光ディスクドライブ191も含む。ハードディスクドライブ170、磁気ディスクドライブ180、および光ディスクドライブ191は、それぞれハードディスクドライブインタフェース192、磁気ディスクドライブインタフェース193、および光ディスクドライブインタフェース194によってシステムバス130に接続される。ドライブおよびその関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ100の他のデータの不揮発性記憶域を提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)など、コンピュータによってアクセス可能なデータを格納できる他のタイプのコンピュータ可読媒体を動作環境の例で使用することもできることを当業者であれば理解されよう。
A BIOS (Basic Input / Output System) 160 includes a basic routine that assists in transferring information between elements in the
オペレーティングシステム195、1つまたは複数のアプリケーションプログラム196、他のプログラムモジュール197、およびプログラムデータ198を含めて、いくつかのプログラムモジュールをハードディスク170、磁気ディスク190、光ディスク192、ROM140またはRAM150に格納することができる。ユーザは、コマンドおよび情報をキーボード101およびポインティング装置102などの入力装置を介してコンピュータ100に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらおよび他の入力装置は、しばしばシステムバスに結合されているシリアルポートインタフェース106を介して処理ユニット110に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など他のインタフェースで接続してもよい。さらにこれらの装置は、適切なインタフェース(図示せず)を介してシステムバス130に直接結合することができる。モニタ107または他のタイプの表示装置もまた、ビデオアダプタ108などのインタフェースを介してシステムバス130に接続される。パーソナルコンピュータは一般に、モニタに加えて、スピーカやプリンタなどの他の周辺出力装置(図示せず)を含んでいる。好適実施形態では、手書きの入力をデジタル捕捉するためにペンデジタイザ165および付属のペンまたはスタイラス166が設けられている。ペンデジタイザ165とシリアルポートとの間の直接接続が示されているが、実際には、ペンデジタイザ165は、当分野で知られているように、パラレルポート、または他のインタフェースおよびシステムバス130を介して処理ユニット110に直接結合することができる。さらに、デジタイザ165は、モニタ107から切り離して示しているが、デジタイザ165の使用可能な入力エリアは、モニタ107の表示エリアと同一の広がりを持つことが好ましい。さらにデジタイザ165は、モニタ107に一体化することができ、またはモニタ107に重なる、そうでない場合はモニタ107に取り付けられた個別の装置として存在してもよい。
Storing several program modules on the
コンピュータ100は、リモートコンピュータ109など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ109は、サーバ、ルータ、ネットワークPC(personal computer)、ピアデバイス、または他の一般のネットワークノードでよく、一般にコンピュータ100に関連して上述した多くまたはすべての要素を含むが、図1にはメモリ記憶装置111のみを示している。図1に示した論理接続は、ローカルエリアネットワーク(LAN)112および広域ネットワーク(WAN)113を含む。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
LANネットワーキング環境で使用する場合、コンピュータ100は、ネットワークインタフェースまたはアダプタ114を介してローカルネットワーク112に接続される。WANネットワーキング環境で使用する場合、パーソナルコンピュータ100は一般に、モデム115、またはインターネットなど広域ネットワーク113を介して通信を確立する他の手段を含む。モデム115は、内蔵のものでも外付けのものでもよく、シリアルポートインタフェース106を介してシステムバス130に接続される。ネットワーク式環境では、パーソナルコンピュータ100に関連して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納することができる。
When used in a LAN networking environment, the
図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の技術を使用できることは理解されよう。TCP/IP(Transmission Control Protocol/Internet Protocol)、Ethernet(登録商標)、FTP(file transfer protocol)、HTTP(HyperText Transport Protocol)、Bluetooth(商標)、IEEE(Institute of Electrical and Electronics Engineers)802.11xなど様々な周知の任意のプロトコルの存在が想定され、システムは、ユーザがWebベースのサーバからWebページを取り出すことができるようにクライアント−サーバ構成で動作することができる。様々な従来のWebブラウザの任意のものを使用してWebページ上にデータを表示し、それを操作することができる。 It will be appreciated that the network connections shown are examples and other techniques for establishing a communications link between the computers can be used. TCP / IP (Transmission Control Protocol / Internet Protocol), Ethernet (registered trademark), FTP (file transfer protocol), HTTP (HyperText Transport Protocol), Bluetooth (trademark), IEEE (Institute of Electrical and Electronics Engineers) 802.11x, etc. The existence of various well-known arbitrary protocols is envisioned and the system can operate in a client-server configuration so that a user can retrieve a web page from a web-based server. Any of a variety of conventional web browsers can be used to display data on a web page and manipulate it.
画像捕捉ペン
本発明の態様は、エンコードされたデータストリームを、エンコードされたデータストリームを表す表示形式にすることを含む(例えば図4Bで説明するように、エンコードされたデータストリームを使用してグラフィカルパターンを作成する)。表示形式は、印刷物(または他の物理的な媒体)、または別の画像または画像の組とともにエンコードされたデータストリームを投影する表示とすることができる。例えば、エンコードされたデータストリームは、用紙上の物理的なグラフィカル画像、(例えばドキュメントのテキストを表す)表示された画像上に重なるグラフィカル画像として表され得る、または表示画面上の物理的な(変更できない)グラフィカル画像とすることができる(そのため、ペンによって捕捉された任意の画像部分は、表示画面上で位置を突き止めることができる)。
Image Capture Pen Aspects of the present invention include converting an encoded data stream into a display format that represents the encoded data stream (eg, using an encoded data stream as described in FIG. 4B, graphically). Create a pattern). The display format may be a printout (or other physical medium) or a display that projects an encoded data stream with another image or set of images. For example, the encoded data stream may be represented as a physical graphical image on paper, a graphical image overlaid on a displayed image (eg representing the text of a document), or a physical (modified) on the display screen Cannot be a graphical image (so any image portion captured by the pen can be located on the display screen).
捕捉画像のこの位置の判定を使用して、用紙、媒体、または表示画面とのユーザの対話の位置を判定することができる。本発明の一部の態様では、ペンは、用紙上に筆記するインクペンとすることができる。別の態様では、ペンは、ユーザがコンピュータディスプレイの表面上に書くスタイラスとすることができる。文書上のエンコードされた画像の知識を有する、またはコンピュータ画面上に表示された文書をサポートするシステムに、任意の対話を戻すことができる。ペンまたはスタイラスが文書を横切るときにペンまたはスタイラスのカメラで画像を繰り返し捕捉することによって、システムは、ユーザによって制御されているスタイラスの動きを追跡することができる。表示された、または印刷された画像は、空白の、または内容が豊富な用紙に関連付けられているウォーターマーク、または表示された画像に関連付けられているウォーターマーク、または画面上に重なる、または画面に組み込まれている固定コーディングに関連付けられているウォーターマークとすることができる。 This determination of the position of the captured image can be used to determine the position of user interaction with the paper, media, or display screen. In some aspects of the invention, the pen can be an ink pen that writes on paper. In another aspect, the pen can be a stylus that the user writes on the surface of the computer display. Any interaction can be returned to a system that has knowledge of the encoded image on the document or that supports the document displayed on the computer screen. By repeatedly capturing images with a pen or stylus camera as the pen or stylus crosses the document, the system can track the movement of the stylus being controlled by the user. The displayed or printed image is a watermark associated with a blank or rich paper, or a watermark associated with the displayed image, or overlaps or appears on the screen. It can be a watermark associated with an embedded fixed coding.
図2Aおよび図2Bは、カメラ203を備えるペン201の例を示している。ペン201は、インク筒を含む、または含まない先端202を含む。カメラ203は、面207から画像204を捕捉する。ペン201は、破線で示したボックス206で表すように追加のセンサーおよび/またはプロセッサをさらに含んでいてもよい。また、これらのセンサーおよび/またはプロセッサ206は、(例えばBluetooth(商標)または他の無線プロトコルを介して)情報を別のペン201および/またはパーソナルコンピュータに送信する機能を含んでいてもよい。
2A and 2B show an example of a
図2Bは、カメラ203から見た画像を表す。一例では、カメラ203の視野(すなわちカメラの画像センサーの解像度)は、(N=32の場合)32×32ピクセルである。この実施形態では、捕捉画像(32ピクセル×32ピクセル)は、カメラ203によって捕捉された平面の約5mm×5mmのエリアに相当する。したがって図2Bは、長さ32ピクセル×幅32ピクセルの視野を示す。Nのサイズは調整可能であり、したがってNが大きくなると、画像の解像度はより高くなる。また、カメラ203の視野は、ここでは例示の目的で正方形として示しているが、当分野で知られているように、他の形状を含むことができる。
FIG. 2B shows an image viewed from the
カメラ203によって捕捉された画像を一連の画像フレーム{Ii}として定義することができる。ここではIiは、サンプリング時tiにペン201によって捕捉される。サンプリングレートは、システム構成およびパフォーマンス要件に応じて高い場合も低い場合もある。捕捉画像フレームのサイズは、システム構成およびパフォーマンス要件に応じて大きい場合も小さい場合もある。
An image captured by the
カメラ203によって捕捉された画像は、処理システムによって直接使用することもプレフィルタリングにかけることもできる。このプレフィルタリングは、ペン201で行うこともペン201の外部(パーソナルコンピュータなど)で行うこともできる。
Images captured by the
図2Bの画像サイズは32×32ピクセルである。各エンコーディング単位サイズが3×3ピクセルである場合、捕捉されたエンコード済み単位の数は約100単位となる。エンコーディング単位サイズが5×5ピクセルである場合、捕捉されたエンコード済み単位の数は約36となる。 The image size in FIG. 2B is 32 × 32 pixels. If each encoding unit size is 3 × 3 pixels, the number of captured encoded units will be about 100 units. If the encoding unit size is 5 × 5 pixels, the number of captured encoded units will be about 36.
図2Aは、位置204からのパターンの画像210が形成される画像平面209も示している。対象平面207上のパターンから受信された光は、レンズ208によって集束される。レンズ208は、単レンズでもマルチパートレンズシステム(multi−part lens system)でもよいが、ここでは簡潔にするために単レンズとして表す。画像捕捉センサー211は、画像210を捕捉する。
FIG. 2A also shows an
画像センサー211は、画像210を捕捉できるほど大きいものとすることができる。あるいは画像センサー211は、位置212でペン先202の画像を捕捉できるほど大きいものとすることができる。参照のために、位置212の画像を仮想ペン先と呼ぶ。ペン先、レンズ208、および画像センサー211の間の関係が一定であるため、画像センサー211に対する仮想ペン先の位置は固定されることに留意されたい。
The
次の変換Fs→pは、カメラによって捕捉された画像における位置座標を用紙上の実画像における位置座標に変換する。 The next conversion F s → p converts the position coordinates in the image captured by the camera into the position coordinates in the actual image on the paper.
Lpaper=Fs→p(Lsensor)
筆記中、ペン先および用紙は同じ平面上にある。したがって、仮想ペン先から実ペン先への変換もFs→pであり、
Lpentip=Fs→p(Lvirtual−pentip)
となる。
L paper = F s → p (L sensor )
During writing, the nib and the paper are on the same plane. Therefore, the conversion from the virtual nib to the real nib is also F s → p ,
Lpentip = Fs → p ( Lvirtual-pentip )
It becomes.
変換Fs→pは、アフィン変換として推定することができる。これは、 The transformation F s → p can be estimated as an affine transformation. this is,
としてFs→pの推定として単純化される。式中、θx、θy、sx、およびsyは、位置204で捕捉されたパターンの2つの向きの回転およびスケールである。さらに、捕捉画像を用紙上の対応する実画像と照合することによってF’s→pを精密化することができる。「精密化」とは、再帰的方法と呼ばれる一種の最適化アルゴリズムによって変換Fs→pのより正確な推定を得ることを意味する。再帰的方法は、行列F’s→pを初期値として扱う。精密化された推定は、SとPとの間の変換をより正確に表す。
Is simplified as an estimate of F s → p . Where θ x , θ y , s x , and s y are the two orientation rotations and scales of the pattern captured at
次に、較正によって仮想ペン先の位置を判定することができる。 The position of the virtual nib can then be determined by calibration.
ペン先202は、用紙上の固定位置Lpetip上に置かれる。次にペンが傾けられ、それによってカメラ203は、様々なペンの姿勢の一連の画像を捕捉することができる。捕捉された画像ごとに変換Fs→pを取得することができる。この変換から、仮想ペン先の位置Lvirtual−pentipを取得することができる。
The
Lvirtual−pentip=Fp→s(Lpentip)
式中、Lpentipは(0,0)として初期設定され、
Fp→s=(Fs→p)−1
である。
L virtual-pentip = F p → s (L pentip )
Where L pentip is initially set as (0,0),
F p → s = (F s → p ) −1
It is.
各画像から取得されたLvirtual−pentipを平均することによって、仮想ペン先の位置Lvirtual−pentipを判定することができる。Lvirtual−pentipによって、Lpentipのより正確な推定を得ることができる。何度かの反復の後、仮想ペン先の正確な位置Lvirtual−pentipを判定することができる。 By averaging L virtual-pentip acquired from each image, the position L virtual-pentip of the virtual pen tip can be determined. With L virtual-pentip , a more accurate estimate of Lpentip can be obtained. After several iterations, the exact position L virtual-pentip of the virtual nib can be determined.
ここで仮想ペン先の位置Lvirtual−pentipはわかった。捕捉された画像から変換Fs→pを取得することもできる。最後に、この情報を使用して、実ペン先の位置Lpentipを判定することができる。 Here, the position L virtual-pentip of the virtual nib is known. It is also possible to obtain the transformation F s → p from the captured image. Finally, this information can be used to determine the actual pen tip position L pentip .
Lpentip=Fs→p(Lvirtual−pentip) Lpentip = Fs → p ( Lvirtual-pentip )
配列のエンコーディング
2次元の配列は、1次元シーケンスを折りたたむことによって構築することができる。十分多くのビット数を含む2次元配列の任意の部分を使用して、完全な2次元配列におけるその位置を判定することはできる。しかし、捕捉された1つまたはわずかの画像から位置を判定することが必要な場合がある。捕捉画像の一部分が2次元配列における2つ以上の位置に関連付けられる可能性を最低限に抑えるように、非反復シーケンスを使用して配列を作成することができる。作成されたシーケンスの1つの特性は、シーケンスが長さ(またはウィンドウ)n上で反復しないことである。下記は、1次元シーケンスの作成、次いでシーケンスの配列への折りたたみ(folding)を説明する。
Array Encoding A two-dimensional array can be constructed by folding a one-dimensional sequence. Any part of a two-dimensional array that contains a sufficiently large number of bits can be used to determine its position in a complete two-dimensional array. However, it may be necessary to determine the position from one or a few captured images. The array can be created using a non-repeating sequence to minimize the possibility that a portion of the captured image will be associated with more than one position in the two-dimensional array. One characteristic of the created sequence is that the sequence does not repeat over length (or window) n. The following describes the creation of a one-dimensional sequence and then the folding of the sequence into an array.
シーケンスの構築
数列をエンコーディングシステムの開始点として使用することができる。例えば、シーケンス(mシーケンスとも呼ぶ)を、体(field)Fq内のq要素の組として表すことができる。ここではq=pnであり、式中n≧1、pは素数である。シーケンスまたはmシーケンスは、それだけには限定されないが、多項式除算など、様々な異なる技術によって生成することができる。多項式除算を使用して、シーケンスを次のように定義することができる。
The sequence number of the sequence can be used as a starting point for the encoding system. For example, a sequence (also called an m-sequence) can be represented as a set of q elements in a field F q . Here, q = pn, where n ≧ 1, and p is a prime number. The sequence or m-sequence can be generated by a variety of different techniques, including but not limited to polynomial division. Using polynomial division, the sequence can be defined as follows:
式中Pn(x)は、(qn個の要素を有する)体Fq[x]における次数nの原始多項式である。Rl(x)は、体Fq[x]における次数l(l<n)の非ゼロの多項式である。シーケンスは、次の2つのステップで反復手順を使用して作成することができる。第1に2つの多項式を割り(その結果体Fqの要素が得られる)、第2に剰余にxを掛ける。この演算は、出力が反復を開始すると停止する。このプロセスは、線形帰還シフトレジスタを使用して実施することができる(非特許文献1参照)。この環境では、シーケンスの周期的なシフトと多項式Rl(x)との間の関係が確立される。つまり、Rl(x)の変更によってシーケンスの周期的シフトのみが行われ、すべての周期的シフトは多項式Rl(x)に対応する。結果として得られたシーケンスの特性の1つは、シーケンスはqn−1の周期を有し、ある周期内に、ある幅(または長さ)nにわたって、どの部分も一度だけシーケンスに存在するということである。これを「ウィンドウ特性(window property)」と呼ぶ。周期qn−1はシーケンスの長さ、nはシーケンスの次数とも呼ばれる。 Where P n (x) is a primitive polynomial of degree n in the field F q [x] (having q n elements). R l (x) is a non-zero polynomial of degree l (l <n) in the field F q [x]. The sequence can be created using an iterative procedure in the next two steps. First, divide the two polynomials (resulting in an element of the field Fq ), and secondly multiply the remainder by x. This operation stops when the output starts to iterate. This process can be implemented using a linear feedback shift register (see Non-Patent Document 1). In this environment, a relationship is established between the periodic shift of the sequence and the polynomial R 1 (x). That is, only a periodic shift of the sequence is performed by changing R l (x), and all periodic shifts correspond to the polynomial R l (x). One of the characteristics of the resulting sequence is that the sequence has a period of q n −1, and within a period, over a certain width (or length) n, every part exists only once in the sequence. That is. This is called a “window property”. Period q n −1 is also called the length of the sequence, and n is also called the order of the sequence.
しかし、上記のプロセスは、ウィンドウ特性を有するシーケンスの作成に使用できる様々なプロセスのうちの1つである。 However, the above process is one of various processes that can be used to create a sequence with window characteristics.
配列の構築
(一部をカメラによって捕捉できる)画像の作成に使用できる配列(またはm配列)は、1次元シーケンスまたはmシーケンスの拡張である。Aを周期(m1,m2)の配列、すなわちA(k+m1,l)=A(k,l+m2)=A(k,1)と仮定する。n1×n2ウィンドウがAの周期をシフトするとき、Fqにわたる非ゼロのn1×n2のすべての行列がたった一度だけ現れる。この特性も各ウィンドウが一意であるという点で「ウィンドウ特性」と呼ばれる。次いでウィンドウは、周期(m1,m2)(m1およびm2は配列に存在する水平および垂直のビット数)および次数(n1,n2)の配列として表すことができる。
Array construction An array (or m-array) that can be used to create an image (some of which can be captured by a camera) is an extension of a one-dimensional or m-sequence. Assume that A is an array of periods (m1, m2), that is, A (k + m 1 , l) = A (k, l + m 2 ) = A (k, 1). When the n 1 × n 2 window shifts the period of A, all non-zero n 1 × n 2 matrices over F q appear only once. This characteristic is also called “window characteristic” in that each window is unique. The window can then be represented as an array of periods (m 1 , m 2 ) (where m 1 and m 2 are the number of horizontal and vertical bits present in the array) and order (n 1 , n 2 ).
バイナリ配列(またはm配列)は、シーケンスを折りたたむことによって構築することができる。1つの手法は、シーケンスを取得し、次いでそれをm1×m2のサイズに折りたたむことである。この場合、配列の長さはL=m1×m2=2n−1である。あるいは、(例えば1枚の用紙、30枚の用紙、またはコンピュータモニタのサイズなど)カバーしたいあらかじめ定義されているサイズのスペースで開始し、エリア(m1×m2)を判定し、次いでそのサイズを使用してL≧m1×m2と仮定することができる。この場合L=2n−1である。
A binary array (or m-array) can be constructed by folding the sequence. One approach is to take a sequence and then fold it to a size of m 1 × m 2 . In this case, the length of the sequence is L = m 1 × m 2 = 2 n −1. Alternatively, start with a predefined size space you want to cover (
異なる様々な折りたたみ技術を使用することができる。例えば、図3Aから図3Cは、異なる3つのシーケンスを示している。これらのそれぞれを図3Dに示すような配列に折りたたむことができる。異なる3つの折りたたみ方法は、図3Dのオーバーレイ、および図3Eおよび3Fのラスタパスとして示されている。図3Dに示す折りたたみ方法を採用する。 Various different folding techniques can be used. For example, FIGS. 3A to 3C show three different sequences. Each of these can be folded into an array as shown in FIG. 3D. Three different folding methods are shown as the overlay in FIG. 3D and the raster path in FIGS. 3E and 3F. The folding method shown in FIG. 3D is adopted.
図3Dに示すような折りたたみ方法を作成するために、長さLおよび次数nのシーケンス{ai}を作成する。次に、配列の各ビットを式1によって示すように算出すると仮定することによって、シーケンス{ai}からサイズm1×m2の配列{bkl}が作成される。この場合、gcd(m1,m2)=1およびL=m1×m2である。
In order to create a folding method as shown in FIG. 3D, a sequence {a i } of length L and order n is created. Next, an array {b kl } of size m 1 × m 2 is created from the sequence {a i } by assuming that each bit of the array is calculated as shown by
bkl=ai (1)
式中、k=imod(m1),l=imod(m2),i=0,…,L−1である。
b kl = a i (1)
In the formula, k = imod (m 1 ), l = imod (m 2 ), i = 0,..., L−1.
この折りたたみ手法は、代わりに、配列の対角線上にシーケンスを配置し、次いで縁に到達すると反対の縁から続くものとして表すことができる。 This folding technique can alternatively be represented as placing the sequence on the diagonal of the sequence and then continuing from the opposite edge when the edge is reached.
図4Aは、図3Dの配列のエンコードに使用できるエンコーディング技術のサンプルを示している。他のエンコーディング技術を使用できることを理解されたい。例えば、代替のコーディング技術を図11に示している。 FIG. 4A shows a sample encoding technique that can be used to encode the array of FIG. 3D. It should be understood that other encoding techniques can be used. For example, an alternative coding technique is shown in FIG.
図4Aを参照すると、第1のビット401(例えば「1」)は、黒インクの列によって表されている。第2のビット402(例えば「0」)は、黒インクの行によって表されている。任意のカラーインクを使用して様々なビットを表すことができることを理解されたい。選択されたインクの色についての唯一の必要条件は、有意のコントラストが提供され、媒体の背景が画像捕捉システムによって区別可能であることである。図4Aのビットは、セルの3×3行列によって表される。行列のサイズは、画像捕捉システムのサイズおよび解像度に基づく任意のサイズに変更することができる。ビット0および1の代替の表現を図4C〜4Eに示している。図4A〜4Eのエンコーディングのサンプルでの1またはゼロの表現は、影響無く切り替えることができることを理解されたい。図4Cは、交互の配列において2つの行または列を占めるビット表現を示している。図4Dは、破線形の行および列のピクセルの代替配列を示している。最後に図4Eは、(黒い点2つの後に黒い点1つなど)不規則な間隔の形式での列および行のピクセル表現を示している。
Referring to FIG. 4A, the first bit 401 (eg, “1”) is represented by a column of black ink. The second bit 402 (eg, “0”) is represented by a row of black ink. It should be understood that any color ink can be used to represent the various bits. The only requirement for the color of the selected ink is that it provides significant contrast and that the media background is distinguishable by the image capture system. The bits in FIG. 4A are represented by a 3 × 3 matrix of cells. The size of the matrix can be changed to any size based on the size and resolution of the image capture system. Alternative representations of
図4Aに戻って、ビットが3×3行列によって表され、イメージングシステムが3×3領域において黒い行を1つ、および白い行を2つ検出すると、ゼロ(または1)が検出される。黒い列が1つ、白い列が2つの画像が検出されると、1(または0)が検出される。 Returning to FIG. 4A, if the bits are represented by a 3 × 3 matrix and the imaging system detects one black row and two white rows in the 3 × 3 region, zero (or 1) is detected. When one black row and two white rows are detected, 1 (or 0) is detected.
ここでは、1より大きいピクセルまたはドットを使用して1ビットを表す。単一のピクセル(またはビット)を使用して1ビットを表すのは脆弱である。ほこり、用紙の折り目、平らではない面などは、データ単位の単一のビット表現の読み取りの問題を作り出す。しかし、異なる手法を使用してある面における配列を図示できることを理解されたい。いくつかの手法を図4Cから図4Eに示している。他の手法を使用することもできることを理解されたい。スペースシフトされたドットのみを使用する1つの手法を図11に示している。 Here, one bit is represented using a pixel or dot larger than one. It is fragile to represent one bit using a single pixel (or bit). Dust, paper creases, uneven surfaces, etc. create the problem of reading a single bit representation of a data unit. However, it should be understood that different approaches can be used to illustrate the arrangement in a plane. Several approaches are shown in FIGS. 4C-4E. It should be understood that other approaches can be used. One approach that uses only space shifted dots is shown in FIG.
ビットストリームを使用して、図4Bのグラフィカルパターン403を作成する。グラフィカルパターン403は、12個の行および18個の列を含む。行および列は、ビット表現401および402を使用してグラフィカル表現に変換されるビットストリームによって形成される。図4Bは、次のビット表現を有するものとみなすことができる。
The bitstream is used to create the
デコーディング
図2Aのペンで筆記する、またはエンコードされたパターンの近くにペンを移動させるとき、カメラが画像を捕捉する。例えばペン201は、用紙に押し付けられ、用紙上の文書を横切るときに圧力センサーを使用し得る。次いで画像は、エンコードされた画像の完全な表現に対して捕捉画像の向きを判定し、捕捉画像を構成するビットを抽出するように処理される。
Decoding When writing with the pen of FIG. 2A or moving the pen near the encoded pattern, the camera captures an image. For example, the
エンコードされた全エリアに対する捕捉画像の向きの判定では、図5A〜5Dに示す考えられる4つのすべてのコーナーがグラフィッカルパターン403内に存在し得るとは限らないことに気づくかもしれない。実際、適切な向きでは、図5Aに示すコーナーのタイプは、グラフィカルパターン403に存在しない。したがって、図5Aに示したコーナーのタイプが欠如している向きが正しい向きである。
In determining the orientation of the captured image relative to the entire encoded area, one may notice that not all four possible corners shown in FIGS. 5A-5D may be present in the
続いて図6を参照すると、カメラによって捕捉された画像601が分析され、画像601によって実際に表される位置に関して解釈可能なようにその向きが判定される。まず、画像601を調べて、ピクセルが水平方向および垂直方向に並ぶように画像の回転に必要な角度θが判定される。基礎を成すグリッドの非水平、非垂直方向の配列(例えば45度)への回転を含めて、代替のグリッド配列が考えられることに留意されたい。ユーザは、他のものより前に水平方向および垂直方向のパターンに注目する傾向があるため、非水平、非垂直方向の配列の使用は、視覚的な混乱のもと(visual distractions)をユーザから取り除くことのメリットの可能性を提供し得る。簡潔にするために、グリッドの向き(基礎を成すグリッドの水平方向および垂直方向、および他の任意の回転)をまとめて、定義済みグリッド向きと呼ぶ。
With continued reference to FIG. 6, the
次に、画像601が分析されて、どのコーナーが欠如しているかを判定する。画像601のデコーディングの用意ができている画像603への回転に必要な回転量οは、ο=(θ+回転量{どのコーナーが欠如しているかによって定義})と示される。回転量は、図7の式によって示される。図6に戻って、まず、ピクセルの水平方向および垂直方向(または他の定義済みグリッド向き)の配列に達するように、ピクセルのレイアウトによって角度θが判定され、画像が602に示すように回転される。次いで欠如しているコーナーを判定するために分析が行われ、画像602が画像603に回転されて、画像をデコーディングのために設定する。ここでは、画像603が正しい向きを有し、デコーディングに使用できるように、画像は反時計回りに90度回転される。
Next, the
回転角度θを画像601の回転の前または後に適用して欠如しているコーナーを考慮に入れることができることを理解されたい。また、捕捉画像におけるノイズを考慮に入れることによって、4つすべてのタイプのコーナーが存在し得ることも理解されたい。各タイプのコーナー数を数え、最も少ない数のタイプを欠如しているコーナータイプとして選択することができる。
It should be understood that the rotation angle θ can be applied before or after the rotation of the
最後に、画像603におけるコードが読み出され、画像403の作成に使用された元のビットストリームと相関させる。相関は、いくつかの方法で実行することができる。例えば、復元されたビットストリームが元のビットストリーム内の他のすべてのビットストリームの断片と比較される再帰的手法によって実行することができる。第2に、例えば、復元されたビットストリームと元のビットストリームとの間のハミング距離を使用することによって2つのビットストリーム間での統計的分析を行うことができる。様々な手法を使用して、元のビットストリーム内の復元されたビットストリームの位置を判定することができることを理解されたい。
Finally, the code in
復元されたビットを得ると、(例えば図4Bに示すものなど)元の配列内の捕捉画像の位置を突き止める必要がある。配列全体内のビットのセグメントの位置を判定するプロセスは、いくつかの項目により複雑になる。まず、捕捉すべき実際のビットが不明瞭である可能性がある(例えばカメラは手書きによる画像を捕捉する可能性があり、これは元のコードを不明瞭にする)。第2に、ほこり、折り目、反射などもまた、捕捉画像のエラーを作り出す可能性がある。これらのエラーは、位置を突き止めるプロセスをより難しくする。この点で、画像捕捉システムは、画像から抽出された非連続ビットに対して機能する必要がある場合がある。次は、画像からの非連続ビットに対して動作する方法を表す。 Having obtained the recovered bits, it is necessary to locate the captured image in the original array (such as that shown in FIG. 4B). The process of determining the location of a segment of bits within the entire array is complicated by several items. First, the actual bits to be captured may be ambiguous (eg, the camera may capture handwritten images, which will obscure the original code). Second, dust, creases, reflections, etc. can also create captured image errors. These errors make the location process more difficult. In this regard, the image capture system may need to work on non-contiguous bits extracted from the image. The following represents a method that operates on non-contiguous bits from an image.
nがmシーケンスの次数である場合、シーケンス(またはmシーケンス)Iがべき級数I(x)=1/Pn(x)に対応し、K≧nであり、上付き文字tが行列またはベクトルの転置を表す場合、捕捉画像はIのK個のビットb=(b0 b1 b2・・・bk−1)tを含むと仮定する。Kビットの位置sは、単にb0がシーケンスの先頭にシフトされるIの周期シフト数である。次いでこのシフトされたシーケンスRは、べき級数xs/Pn(x)、すなわちR=Ts(I)に対応する。式中、Tは周期シフト演算子である。このsを間接的に見つける。多項式のモジュロPn(x)は体を形成する。xs≡r0+r1x+・・・rn−1xn−1mod(Pn(x))であることが保証される。したがって、(r0,r1,+・・・,rn−1)であることがわかり、次いでsについて解くことができる。 If n is the order of the m sequence, the sequence (or m sequence) I corresponds to the power series I (x) = 1 / P n (x), K ≧ n, and the superscript t is a matrix or vector , Suppose that the captured image contains K bits of I b = (b 0 b 1 b 2 ... B k−1 ) t . The K bit position s is simply the number of I period shifts where b 0 is shifted to the beginning of the sequence. This shifted sequence R then corresponds to a power series x s / P n (x), ie R = T s (I). In the formula, T is a periodic shift operator. Find this s indirectly. The polynomial modulo P n (x) forms a field. It is guaranteed that x s ≡r 0 + r 1 x +... r n−1 x n−1 mod (P n (x)). Therefore, it can be seen that (r 0 , r 1 , +..., R n-1 ), and then s can be solved for s.
この関係xs≡r0+r1x+・・・rn−1xn−1mod(Pn(x))は、R=r0+r1T(I)+・・・rn−1Tn−1(I)であることを含意している。二元一次方程式で書くと、次のようになる。 The relationship x s ≡r 0 + r 1 x + ··· r n-1 x n-1 mod (P n (x)) is, R = r 0 + r 1 T (I) + ··· r n-1 T implying n-1 (I). The binary linear equation is written as follows.
R=rtA (2)
式中、r=(r0 r1 r2・・・rn−1)t、およびA=(I T(I)・・・Tn−1(I))tであり、これは0シフトから(n−1)シフトまでのIの周期シフトから成る。ここで、rを解くのに、Rにおいて疎のKビットのみが使用可能である。Rにおけるbiとb0との間の指数の差がki、i=1,2,・・・,k−1であると仮定すると、i=1,2,・・・,k−1の場合のRの1番目の要素および(ki+1)番目の要素は、ちょうどb0,b1,・・・,bk−1となる。i=1,2,・・・,k−1の場合にAの1番目の要素および(ki+1)番目の要素を選択することによって、次の二元一次方程式が形成される。
R = r t A (2)
Where r = (r 0 r 1 r 2 ... R n-1 ) t and A = (IT (I)... T n-1 (I)) t , which is 0 shift Consists of a period shift of I from (n-1) shifts. Here, only sparse K bits in R can be used to solve r. Assuming that the difference in exponent between b i and b 0 in R is k i , i = 1, 2,..., K−1, i = 1, 2,. In this case, the first element and the (k i +1) th element of R are exactly b 0 , b 1 ,..., B k−1 . i = 1,2, ···, by selecting the first element and (k i +1) th element of A in the case of k-1, the following binary linear equation is formed.
bt=rtM (3)
式中、MはAのn×K部分行列である。
b t = r t M (3)
Where M is an n × K submatrix of A.
bがエラー無しの場合、rの解は次の式で表すことができる。 If b is error-free, the solution for r can be expressed as:
式中、 Where
は、Mの任意の非退化のn×n部分行列であり、 Is an arbitrary non-degenerate n × n submatrix of M;
はbの対応する部分行列である。 Is the corresponding submatrix of b.
既知のrを使用して、Pohlig−Hellman−Silverアルゴリズムを使用して、xs≡r0+r1x+・・・rn−1xn−1mod(Pn(x))になるようなsを見つけることができる(非特許文献1参照)。 Using the known r and using the Pohlig-Hellman-Silver algorithm, such that x s ≡r 0 + r 1 x +... R n−1 x n−1 mod (P n (x)) s can be found (see Non-Patent Document 1).
(L=2n−1の場合、n×Lのサイズの)行列Aは非常に大きい可能性があるため、行列A全体を格納することは避けるべきである。実際に、上記のプロセスでわかったように、指数差kiの抽出ビットが与えられた場合、Aの1番目の列および(ki+1)番目の列のみが計算に関連する。捕捉画像のサイズが与えられている場合、kiのこうした選択はかなり限られている。したがって、計算に関与し得るこうした列のみを保存すればよい。こうした列の合計数は、Lよりかなり小さい(ここではL=2n−1はmシーケンスの長さである)。 Since the matrix A (of size n × L if L = 2 n −1) can be very large, storing the entire matrix A should be avoided. In fact, as can be seen in the above process, given the extracted bits of exponent difference k i , only the first and (k i +1) th columns of A are relevant for the calculation. Given the size of the captured image, such selection of k i is rather limited. Therefore, only those columns that may be involved in the calculation need be preserved. The total number of such columns is much smaller than L (where L = 2 n −1 is the length of the m sequence).
エラー訂正
bにエラーが存在する場合、rの解はより複雑になる。エラー訂正を用いたデコーディングの従来の方法は、容易には適用できない。というのは、捕捉画像に関連付けられている行列Mは、捕捉されたある画像から別の画像に変わり得るからである。
If there is an error in error correction b, the solution for r becomes more complex. The conventional method of decoding using error correction cannot be easily applied. This is because the matrix M associated with the captured image can change from one captured image to another.
確率的手法を採用する。bでのエラービット数neがKに比べて相対的に小さいと仮定すると、bのKビットから正しいnビットを選択し、対応するMの部分行列 Use a probabilistic approach. If an error bit number n e at b is assumed to be relatively small compared to K, then select the correct n bits from the K bits of b, the portion of the corresponding M matrix
が非退化である確率は高い。 There is a high probability that is non-degenerate.
選択されたnビットがすべて正しい場合、btとrtMとの間のハミング距離、またはrに関連付けられているエラービット数は最小となるはずである。この場合、rは式(4)によって算出される。プロセスを数回繰り返すことによって、最小のエラービットをもたらす正しいrを識別することができそうである。 If all n bits selected are correct, the Hamming distance between b t and r t M, or the number of error bits associated with r, should be minimal. In this case, r is calculated by equation (4). It is likely that by repeating the process several times, the correct r that results in the smallest error bit can be identified.
最小のエラービット数に関連付けられているrがたった1つである場合、それが正しい解とみなされる。そうではなく、最小のエラービット数に関連付けられているrが複数ある場合、neがMによって生成されたコードのエラー訂正機能を超える確率が高く、デコーディングプロセスは失敗する。次いでシステムは、次の捕捉画像の処理に進むことができる。別の実装形態では、ペンの前の位置に関する情報を考慮に入れることができる。つまり、捕捉画像ごとに、ペンが次に予想され得る宛先エリアを識別することができる。例えば、ユーザがカメラによる2つの画像の捕捉の間でペンを持ち上げていない場合、第2の画像の捕捉によって判定されるペンの位置は、第1の位置からそれほど離れていないはずである。次いで最小のエラービット数に関連付けられている各rをチェックして、rから算出された位置sが位置の制約を満たしているかどうか、すなわち位置が指定された宛先エリア内にあるかどうかを調べることができる。 If there is only one r associated with the smallest number of error bits, it is considered the correct solution. Otherwise, if r that is associated with the minimum number of error bits there are multiple, n e is higher probability of exceeding an error correction capability of the code generated by M, the decoding process fails. The system can then proceed to process the next captured image. In another implementation, information regarding the previous position of the pen can be taken into account. That is, for each captured image, the destination area where the pen can be expected next can be identified. For example, if the user has not lifted the pen between the two image captures by the camera, the pen position determined by the second image capture should not be far from the first position. Each r associated with the minimum number of error bits is then checked to see if the position s calculated from r satisfies the position constraint, i.e., the position is within the specified destination area. be able to.
位置sが位置の制約を満たしている場合、配列内の抽出ビットのX、Yの位置が戻される。位置の制約を満たしていない場合、デコーディングプロセスは失敗する。 If the position s satisfies the position constraint, the X and Y positions of the extracted bits in the array are returned. If the location constraints are not met, the decoding process fails.
図8は、捕捉画像のシーケンス(またはmシーケンス)での位置を判定するために使用できるプロセスを示している。まずステップ801で、捕捉画像に関連するデータストリームが受信される。ステップ802で、対応する列がAから抽出され、行列Mが構築される。
FIG. 8 illustrates a process that can be used to determine the position of a captured image in a sequence (or m-sequence). First, at
ステップ803で、n個の独立した列ベクトルが行列Mからランダムに選択され、式(4)を解くことによってベクトルrが判定される。このプロセスは、ステップ804でQ回(例えば100回)行われる。ループ回数の判定については、ループ回数の算出のセクションで説明する。
In
ステップ805で、rは、その関連のエラービット数に従ってソートされる。ソートは、当分野で知られている様々なソートアルゴリズムを使用して行うことができる。例えば、選択ソートアルゴリズムを使用することができる。選択ソートアルゴリズムは、回数Qが大きくない場合には有用である。しかし、Qが大きくなると、大きい項目数をより効率的に扱う他のソートアルゴリズム(マージソートなど)を使用することができる。
In
次いでシステムは、ステップ806で、複数のrが最小のエラービット数に関連付けられているかどうかをチェックすることによってエラー訂正がうまく行われたかどうかを判定する。複数のrが最小のエラービット数に関連付けられている場合、ステップ809でエラーが戻され、デコーディングプロセスが失敗したことを知らせる。そうでない場合、ステップ807で、例えばPohig−Hellman−Silverアルゴリズムを使用することによってシーケンス(mシーケンス)内の抽出ビットの位置sが算出される。
The system then determines in
次に、ステップ808で、配列内の(X,Y)位置がx=s mod m1およびy=s mod m2として算出され、結果が戻される。
Next, at
位置判定
図9は、ペン先の位置を判定するプロセスを示している。入力は、カメラによって捕捉された画像であり、出力は、ペン先の位置座標とすることができる。また、出力は、捕捉画像の回転角度など、他の情報を含んでいても(または含んでいなくても)よい。
Position Determination FIG. 9 shows a process for determining the position of the pen tip. The input is an image captured by the camera, and the output can be the position coordinate of the pen tip. The output may include (or may not include) other information such as the rotation angle of the captured image.
ステップ901で、画像がカメラから受信される。次に、明るいピクセルと暗いピクセルとの間のコントラストを調整するなど、ステップ902(ステップ902の破線の外枠によって示すように)で、受信された画像を任意選択で前処理にかけることができる。
In
次にステップ903で、画像が分析されて、その中のビットストリームが判定される。
Next, in
次にステップ904で、n個のビットがビットストリームから複数回ランダムに選択され、元のシーケンス(またはmシーケンス)内の受信されたビットストリームの位置が判定される。
Next, in
最後に、ステップ904で捕捉画像の位置が判定されると、ステップ905でペン先の位置を判定することができる。
Finally, when the position of the captured image is determined in
図10は、903および904についてより詳しく説明し、捕捉画像内のビットストリームを抽出する手法を示している。まずステップ1001で、画像がカメラから受信される。次いで(ステップ1002の破線の外枠によって示すように)ステップ1002で、任意選択で画像を画像の前処理にかけることができる。ステップ1003でパターンが抽出される。ここでは、様々な線上のピクセルを抽出して、パターンの向きおよび角度θを見つけることができる。
FIG. 10 describes in
次に、受信された画像は、ステップ1004で分析されて、基礎を成すグリッド線が判定される。ステップ1005でグリッド線が見つかると、ステップ1006でパターンからコードが抽出される。次いでステップ1007でコードがデコードされ、ステップ1008でペン先の位置が判定される。ステップ1005でグリッド線が見つからなかった場合、ステップ1009でエラーが戻される。
The received image is then analyzed at
強化されたデコーディングおよびエラー訂正アルゴリズムの概要
図12に示した本発明の実施形態では、捕捉画像(捕捉されたエリアに対応する)からの抽出ビット1201および宛先エリアが与えられている場合、m配列のデコーディングおよびエラー訂正プロセスの変形は、X、Yの位置をデコードする。図12は、この強化された手法のプロセス1200のフロー図を示す。プロセス1200は、2つの構成要素1251および1253を含む。
Overview of Enhanced Decoding and Error Correction Algorithm In the embodiment of the present invention shown in FIG. 12, m is provided if the extracted
・一度のデコード 構成要素1251は3つの部分を含む。
・ランダムビット選択(random bit selection):抽出ビット1201のサブセットをランダムに選択する(ステップ1203)
・サブセットをデコードする(ステップ1205)
・位置の制約のもとでX、Y位置を判定する(ステップ1209)
A single decode component 1251 includes three parts.
Random bit selection: a subset of extracted
Decode the subset (step 1205)
Determine X and Y positions under position constraints (step 1209)
・スマートビット選択(Smart Bit Selection)によるデコーディング 構成要素1253は4つの部分を含む。
・スマートビット選択:抽出ビットの別のサブセットを選択する(ステップ1217)
・サブセットをデコードする(ステップ1219)
・ステップ1217およびステップ1219の反復回数(ループ回数)を調整する(ステップ1221)
・位置の制約のもとでX、Y位置を判定する(ステップ1225)
本発明の実施形態は、慎重な戦略を使用してビットを選択し、ループ反復回数を調整し、位置の制約に従ってX、Y位置(位置座標)を判定し、これがプロセス1200に提供される。両方の構成要素1251および1253では、ステップ1205および1219(一度のデコード)は、式(4)を使用してrを算出する。
The decoding component 1253 with Smart Bit Selection includes four parts.
Smart bit selection: Select another subset of extracted bits (step 1217)
Decode the subset (step 1219)
Adjust the number of iterations (number of loops) of step 1217 and step 1219 (step 1221)
Determine X and Y positions under position constraints (step 1225)
Embodiments of the present invention use a careful strategy to select bits, adjust the number of loop iterations, and determine X, Y positions (position coordinates) according to position constraints, which are provided to
をデコードされたビットと仮定する。すなわち Are the decoded bits. Ie
である。bと It is. b and
との間の差は、rに関連付けられているエラービットである。 Is the error bit associated with r.
図12は、本発明の実施形態による捕捉画像から抽出ビット1201をデコードするプロセス1200のフロー図を示している。プロセス1200は、構成要素1251および1253を含む。構成要素1251は、捕捉画像(捕捉された配列に対応する)に関連付けられている抽出ビット1201(Kビットを含む)を取得する。ステップ1203で、nビット(この場合nはm配列の次数)が抽出ビット1201からランダムに選択される。ステップ1205で、プロセス1200は、デコードを一度行い、rを算出する。ステップ1207で、プロセス1200は、bについてエラービットが検出されるかどうかを判定する。ステップ1207がエラービットは無いと判定した場合、ステップ1209で捕捉された配列の位置のX、Yの座標が判定される。ステップ1211で、X、Yの座標が位置の制約を満たしている、すなわち座標が宛先エリア内にある場合、プロセス1200は、ステップ1213でX、Yの位置を(例えば別のプロセスやユーザインタフェースなどに)提供する。そうでない場合、ステップ1215は、失敗の表示を提供する。
FIG. 12 shows a flow diagram of a
ステップ1207がbにおいてエラービットを検出した場合、構成要素1253が実行されてエラービットを含めてデコードが行われる。ステップ1217は、抽出ビット1201から別のnビットのセット(ステップ1203で選択されたnビットとは少なくとも1ビットだけ異なる)を選択する。ステップ1221および1223は、抽出ビットのデコーディングに必要な反復回数(ループ回数)を判定する。ステップ1225は、ステップ1219で取得されたどの候補が位置の制約を満たすかをテストすることによって捕捉された配列の位置を判定する。ステップ1217〜1225についてより詳しく説明する。
If
スマートビット選択
ステップ1203は、(Kビットを有する)抽出ビット1201からnビットをランダムに選択し、r1について解く。式(5)を使用して、デコードされたビットを算出することができる。
The smart
は Is
のk番目のビットである場合、 Is the kth bit of
であり、B1={bk|k∈I1}および B 1 = {b k | kεI 1 } and
であると仮定する。すなわちB1はデコードされた結果が元のビットと同じビットであり、 Assume that That is, B 1 is the decoded bit with the same bits as the original bit,
はデコードされた結果が元のビットとは異なるビットであり、I1および Is a bit whose decoded result is different from the original bit, and I 1 and
は、これらのビットの対応する指数である。任意のnビットがB1から選択された場合、同じr1が取得されることを理解されたい。したがって、次のnビットを注意深く選択しない場合、選択されたビットはB1のサブセットであり、したがって同じr1が取得される可能性がある。 Is the corresponding exponent of these bits. If any of the n bits are selected from B 1, it is to be understood that the same r 1 is obtained. Thus, if the next n bits are not carefully selected, the selected bits are a subset of B 1 and therefore the same r 1 may be obtained.
こうした状況を回避するために、ステップ1217は、次の手順に従って次のnビットを選択する。
1.少なくとも1ビットを
To avoid this situation, step 1217 selects the next n bits according to the following procedure.
1. At least one bit
1303から選択し、残りのビットを、B11301および
1303 and select the remaining bits as
1303からランダムに選択する。これは、図13に示すように、ビット配列1351に対応する。次いでプロセス1200は、r2を解き、
A random number is selected from 1303. This corresponds to the
を算出することによってB21305、1309、および
1307、1311を見つける。
2.ステップ1を繰り返す。次のnビットを選択するとき、
Find 1307, 1311.
2.
(i=1,2,3・・・,x−1、この場合xは現在のループ数)ごとに (I = 1, 2, 3,..., X−1, where x is the current number of loops)
から選択された少なくとも1ビットがある。こうしたビットのサブセットを選択できない場合、またはループ回数に達した場合、反復が終了する。 There is at least one bit selected from If such a subset of bits cannot be selected, or if the number of loops has been reached, the iteration ends.
ループ回数の算出
エラー訂正構成要素1253で、必要な反復回数(ループ回数)が各ループの後に調整される。ループ回数は、予想エラー率によって判定される。選択されたnビットのすべてが正しいわけではない予想エラー率peは、
The loop count calculation error correction component 1253 adjusts the required iteration count (loop count) after each loop. The number of loops is determined by the expected error rate. Expected error rate p e all n bits selected is not the correct reason is
となる。式中、ltはループ回数を表し、定数によって初期設定され、Kは捕捉された配列から抽出されたビット数であり、neはプロセス1200の反復中に招いたエラーの最小のエラービット数を表し、nはm配列の次数であり、
It becomes. Where lt represents the number of loops, is initialized by a constant, K is the number of bits extracted from the captured array, and ne is the minimum number of error bits that caused the error during the
はnビットがKビットから選択された組み合わせの数である。 Is the number of combinations where n bits are selected from K bits.
この実施形態では、peがe−5=0.0067未満であることを望む。(6)と組み合わせて In this embodiment, we want p e to be less than e −5 = 0.0067. In combination with (6)
が得られる。ループ回数の調整は、エラー訂正に必要なプロセス1253の反復回数を有意に低減し得る。 Is obtained. Adjusting the number of loops can significantly reduce the number of process 1253 iterations required for error correction.
位置の制約のもとでのX、Y位置の判定
ステップ1209および1225で、デコードされた位置は、宛先エリア内になければならない。宛先エリアは、アルゴリズムへの入力であり、異なるアプリケーションに応じて様々なサイズおよび場所のものでよく、または単にm配列全体であってもよい。これは通常、アプリケーションによって予想することができる。例えば、直前の位置が判定されている場合、筆記速度を考慮すると、現在のペン先の宛先エリアは、直前の位置の近くのはずである。しかし、ペンが持ち上げられた場合、その次の位置はどこでもよい。したがってこの場合、宛先エリアは、m配列全体となるはずである。正しいX、Y位置は、次のステップによって判定される。
In the X and Y position determination steps 1209 and 1225 under position constraints , the decoded position must be within the destination area. The destination area is an input to the algorithm and can be of various sizes and locations depending on different applications, or simply the entire m-array. This can usually be predicted by the application. For example, when the immediately preceding position is determined, the destination area of the current nib should be close to the immediately preceding position in consideration of the writing speed. However, if the pen is lifted, the next position can be anywhere. Therefore, in this case, the destination area should be the entire m array. The correct X, Y position is determined by the following steps.
ステップ1224では、プロセス1200は、その対応するエラービット数が
In step 1224,
より少ないriを選択する。式中、ltは実際のループ回数、lrは次の式によって算出された位置の制約率を表す。 Choose less r i . In the formula, lt represents the actual number of loops, and lr represents the position constraint rate calculated by the following formula.
式中、Lはm配列の長さである。 In the formula, L is the length of the m sequence.
ステップ1224は、エラービット数の昇順にriをソートする。次いでステップ1225、1211、および1212は、対応するX、Y位置が宛先エリア内にある最初のriを見つける。ステップ1225、1211、および1212は、最後に結果として(ステップ1213を介して)X、Y位置を戻す、または(ステップ1215を介して)デコーディング手順が失敗したという表示を戻す。
Step 1224 sorts r i in ascending order of the number of error bits.
強化されたデコーディングおよびエラー訂正プロセスの実例
実例は、構成要素1251および1253によって行われるプロセス1200を実証する。n=3、K=5、I=(I0 I1・・・I6)tは次数n=3のmシーケンスであると仮定する。その場合
An illustrative example of an enhanced decoding and error correction process demonstrates
である。また、K=5の場合、抽出ビットb=(b0 b1 b2 b3 b4)tが実際にmシーケンスのs番目、(s+1)番目、(s+3)番目、(s+4)番目、および(s+6)番目のビットであると仮定する(これらの数は実際には、m配列長さL=2n−1=23−1=7の係数である)。したがって It is. Also, when K = 5, the extracted bits b = (b 0 b 1 b 2 b 3 b 4 ) t are actually s-th, (s + 1) -th, (s + 3) -th, (s + 4) -th in the m-sequence, and (s + 6) th assumed to be bits (the number of these is actually a factor of m array length L = 2 n -1 = 2 3 -1 = 7). Therefore
となり、Aの0番目、1番目、3番目、4番目、および6番目の列から成る。m配列内のb0のX、Y位置を一意に判定する数字sは、bt=rtMを満たすと予想されるr=(r0 r1 r2)tを解いた後で算出することができる。bにおいてエラービットが考えられるため、bt=rtMは、完全に満たされるわけではない。 And consists of the 0th, 1st, 3rd, 4th, and 6th columns of A. The number s that uniquely determines the X and Y position of b 0 in the m array is calculated after solving r = (r 0 r 1 r 2 ) t that is expected to satisfy b t = r t M. be able to. b t = r t M is not completely satisfied because error bits are possible at b.
プロセス1200は、次の手順を使用する。bからn=3ビット、すなわち
をランダムに選択する。r1について解くと、 Select at random. Solving for r 1 ,
となり、式中 And in the formula
は、Mの0番目、1番目、および2番目の列から成る( Consists of the 0th, 1st, and 2nd columns of M (
はn×n行列、 Is an n × n matrix,
は1×nベクトルであり、したがって Is a 1 × n vector, so
は選択されたビットの1×nベクトルであることに留意されたい)。 Note that is a 1 × n vector of selected bits).
次に、デコードされたビットが算出される。 Next, the decoded bits are calculated.
式中、Mはn×K行列であり、 Where M is an n × K matrix,
は1×nベクトルであり、したがって Is a 1 × n vector, so
は1×Kベクトルである。 Is a 1 × K vector.
がbと同じである場合、すなわちエラービットが検出されない場合、ステップ1209はX、Y位置を判定し、ステップ1211はデコードされた位置が宛先エリア内にあるかどうかを判定する。宛先エリア内にある場合、デコーディングは成功し、ステップ1213が実行される。そうでない場合、デコーディングは、ステップ1215によって示すように失敗する。
Is the same as b, i.e., if no error bit is detected,
がbと異なる場合、bでのエラービットが検出され、構成要素1253が実行される。ステップ1217は、デコードされたビットが元のビットと同じであるセットB1、すなわち{b0 b1 b2 b3}を判定する。したがって If is different from b, an error bit at b is detected and component 1253 is executed. Step 1217 determines a set B 1 whose decoded bits are the same as the original bits, ie {b 0 b 1 b 2 b 3 }. Therefore
となる(図13のビット配列1351に対応する)。ループ回数(lt)は、定数、例えば100に初期設定される。これは、アプリケーションに応じて可変とすることができる。r1に対応するエラービット数は1に等しいことに留意されたい。次いでステップ1221は、式(7)に従ってループ回数(lt)を更新し、lt1=min(lt,13)=13となる。
(Corresponding to the
ステップ1217は、次にbから別のn=3ビットを選択する。ビットがすべてB1に属し、例えば{b0 b2 b3}である場合、ステップ1219は、r1を再度判定する。こうした反復を回避するために、ステップ1217は、例えば、
Step 1217 then selects another n = 3 bits from b. If all the bits belong to B 1 , eg {b 0 b 2 b 3 },
から1ビット{b4}を選択し、B1から残りの2ビット{b0 b1}を選択する。 1 bit {b 4 } is selected from B 1 and the remaining 2 bits {b 0 b 1 } are selected from B 1 .
選択された3ビットは The selected 3 bits are
を形成する。ステップ1219はr2について解く。
Form.
式中、 Where
は、Mの0番目、1番目、および4番目の列から成る。 Consists of the 0th, 1st, and 4th columns of M.
ステップ1219は、
を算出する。 Is calculated.
およびbが同じになるように、セットB2、例えば{b0、b1、b4}を見つける。その場合 Find the set B 2 , eg {b 0 , b 1 , b 4 }, so that and b are the same. In that case
となる(図13のビット配列1353に対応する)。ステップ1221は、式(7)に従ってループ回数(lt)を更新する。r2に関連付けられているエラービット数は2に等しいことに留意されたい。式(7)に代入すると、lt2=min(lt1,32)=13となる。
(Corresponding to the
別の反復の実行が必要であるため、ステップ1217は、他のn=3ビットをbから選択する。選択されたビットはすべてB1またはB2に属していない。そのため、ステップ1217は、例えば Step 1217 selects the other n = 3 bits from b because another iteration needs to be performed. All selected bits does not belong to B 1 or B 2. Therefore, step 1217 is, for example,
から1ビット{b4}を、 1 bit {b 4 } from
から1ビット{b2}を、そして残りの1ビット{b0}を選択する。 1 bit {b 2 } and the remaining 1 bit {b 0 }.
rの解、ビット選択、およびループ回数調整は、新しいn=3ビットがすべて前の任意のBiに属さないように任意の新しいn=3ビットを選択することができなくなるまで、または最大ループ回数ltに達するまで続けられる。 solution of r, bit selection, and until the loop count adjustment, can not be a new n = 3 bits to select any new n = 3 bits as not belonging to any B i before all, or maximum loop Continue until the number of times lt is reached.
プロセス1200は、5つのri(i=1,2,3,4,5)を算出し、エラービット数はそれぞれ1、2、4、3、2に対応すると仮定する(実際に、この例では、エラービット数は2を超えることはできないが、この実例は、アルゴリズムを説明するためにより大きいエラービット数を示している)。ステップ1224は、ri、例えばr1、r2、r4、r5を選択し、その対応するエラービット数は(8)で示すNeより小さい。
ステップ1224は、選択されたベクトルr1、r2、r4、r5をそのエラービット数の昇順r1、r2、r5、r4でソートする。ソートされた候補リストから、ステップ1225、1211、および1212は、その対応する位置が宛先エリア内にある第1のベクトルr、例えばr5を見つける。次いでステップ1213は、対応する位置を出力する。位置がいずれも宛先エリア内にない場合、デコーディングプロセスは、ステップ1215によって示すように失敗する。
Step 1224 sorts the selected vectors r 1 , r 2 , r 4 , r 5 in ascending order r 1 , r 2 , r 5 , r 4 in their error bit number. From the sorted candidate list, steps 1225, 1211 and 1212, it finds its first vector r corresponding position is within the destination area, such as r 5.
装置
図14は、本発明の実施形態による捕捉された配列から抽出されたビット1201をデコードする装置1400を示している。装置1400は、ビット選択モジュール1401、デコーディングモジュール1403、位置判定モジュール1405、入力インタフェース1407、および出力インタフェース1409を含む。この実施形態では、インタフェース1407は、(図2Aに示すように)カメラ203をサポートするモジュールを含めて、異なるソースから抽出ビット1201を受信することができる。ビット選択モジュール1401は、ステップ1203および1217に従って抽出ビット1201からnビットを選択する。デコーディングモジュール1403は、ステップ1205および1219に従って、選択されたビット(ビット選択モジュール1401によって選択されたK個の抽出ビットから選択されたnビット)をデコードして、検出されたビットエラーおよび対応するベクトルriを判定する。デコーディングモジュール1403は、判定されたベクトルriを位置判定モジュール1405に提示する。位置判定モジュール1405は、ステップ1209および1225に従って捕捉された配列のX、Y座標を判定する。位置判定モジュール1405は、成功した場合はX、Y座標を含み、失敗した場合はエラー表示を含む結果を出力インタフェース1409に提示する。出力インタフェース1409は、さらに処理を行う、または結果を表示できる別のモジュールに結果を提示することができる。
Apparatus FIG. 14 shows an
装置1400は、コンピュータ可読媒体を使用するモジュール、および特定用途向け集積回路(ASIC)などの専用のハードウェアを使用するモジュールを含めて、様々な形態の実装を仮定し得る。
当業者には理解できるように、コンピュータシステムを制御する命令を含む関連のコンピュータ可読媒体を備えるコンピュータシステムを使用して、本明細書に開示した実施形態の例を実施することができる。コンピュータシステムは、マイクロプロセッサ、デジタル信号プロセッサ、および関連の周辺電子回路など、少なくとも1つのコンピュータを含み得る。 As can be appreciated by one of ordinary skill in the art, a computer system with an associated computer readable medium that includes instructions for controlling the computer system can be used to implement the example embodiments disclosed herein. The computer system may include at least one computer, such as a microprocessor, digital signal processor, and associated peripheral electronics.
本発明は特許請求の範囲を使用して定義されているが、本発明は、本明細書に記載した要素およびステップを任意の結合、または副結合で含むためのものであるという点で、こうした特許請求の範囲は例示的なものである。したがって、説明、特許請求の範囲、および図面を含む明細書からの1つまたは複数の要素を様々な結合または副結合に組み込む、本発明を定義する任意の数の代替の結合がある。本明細書を鑑み、本発明の態様の代替の結合を単独で、または本明細書に定義した1つまたは複数の要素またはステップとの組み合わせで、本発明の変更または代替として、または本発明の一部として使用できることは当業者であれば明らかである。本明細書に含まれる本発明の記載した説明は、こうしたすべての変更および代替をカバーするものとする。 The present invention is defined using the claims, but the present invention is such that it is intended to include the elements and steps described herein in any combination or subcombination. The claims are exemplary. Thus, there are any number of alternative combinations defining the present invention that incorporate one or more elements from the description, claims, and the specification, including the drawings, into various combinations or sub-bonds. In view of this specification, alternative combinations of aspects of the invention, alone or in combination with one or more elements or steps as defined herein, as modifications or alternatives of the invention, or It will be apparent to those skilled in the art that it can be used as part. The described description of the invention contained herein is intended to cover all such modifications and alternatives.
201 ペン
202 先端
203 カメラ
204 画像
206 追加のセンサーおよび/またはプロセッサ
207 面
208 レンズ
209 画像平面
210 画像
211 画像センサー
212 仮想ペン先
1400 デコードする装置
1401 ビット選択モジュール
1403 デコーディングモジュール
1405 位置判定モジュール
1407 入力インタフェース
1409 出力インタフェース
201
209
Claims (5)
(A)前記捕捉された画像に関連付けられている抽出ビットを取得するステップであって、前記抽出ビットは、エンコードされた位置情報を含み、前記捕捉された画像から抽出されるステップと、
(B)前記抽出ビットをデコードすることによって取得されるビットに、前記抽出ビットの不明瞭性によって生じるエラービットが存在しない場合、前記抽出ビットをデコードすることにより、前記捕捉された画像の位置座標を決定するステップと、
(C)前記抽出ビットをデコードすることによって取得されるビットに、前記抽出ビットの不明瞭性によって生じるエラービットが存在する場合に、前記捕捉された画像の位置座標を決定するステップであって、
前記抽出ビットからランダムに選択されたビットで構成される第1のサブセットをデコードすることにより、前記捕捉された画像の位置座標の第1の候補を決定することと、
前記位置座標の第1の候補が、位置の制約を満たすかを判定するステップであって、前記位置の制約は、前記画像の位置座標が含まれるべき前記第1のビット配列の特定のエリアを指定することと、
前記位置座標の第1の候補が前記位置の制約を満たすとき、前記位置座標の第1の候補を、前記捕捉された画像の前記位置座標として選択することと、
前記位置座標の第1の候補が前記位置の制約を満たさないときに、
前記抽出ビットから、前記第1のサブセットとは異なるビットで構成される第2のサブセットを選択することと、
前記抽出ビットの前記第2のサブセットに含まれるビットをデコードして、前記捕捉された画像の位置座標の第2の候補を決定することと、
前記位置座標の第2の候補が、前記位置の制約に一致すると判定されたときに、前記位置座標の第2の候補を、前記捕捉された画像の前記位置座標として選択することと によって、前記捕捉された画像の前記位置座標を決定するステップと
を備え、
前記メモリに格納された命令を前記プロセッサが実行することにより実行されることを特徴とする方法。 Captured in the first bit in the array that are encoding the position information on the surface, in order to determine the position of the second bit sequence corresponding to the image on the surface, by a computer having a memory and a processor a method performed, the surface of the image corresponding to the second bit sequence is captured by a camera provided in the pen, the position where the determined indicates the position of the pen relative to the surface,
(A) a step of obtaining the extract bits associated with the captured image, the extracted bits, see contains the location information that is encoded, the steps to be extracted from the captured image,
(B) on the bits that are acquired by decoding the extracted bits, if the error bit caused by ambiguity of the extraction bit is not present, by decoding the extracted bits, the position of the captured image Determining the coordinates;
(C) on the bits that are acquired by decoding the extracted bits, if the error bit caused by ambiguity of the extraction bit it exists, and determining the position coordinates of the captured image ,
By decoding the first subset consisting of bits selected randomly from the extraction bit, and determining the first candidate position coordinates of the captured image,
Determining whether the first candidate for position coordinates satisfies a position constraint, wherein the position constraint includes a specific area of the first bit array that should include the position coordinates of the image. To specify ,
When the first candidate of the position coordinates satisfy the constraints of the position, and selecting the first candidate of the position coordinates, as the position coordinates of the captured image,
When the first candidate for the position coordinate does not satisfy the position constraint,
And that from the extraction bit, selects a second subset composed of different bit from the first subset,
And the decoding the bits included in the second subset of the extracted bits to determine a second candidate coordinates of the captured image,
Second candidate of the position coordinates, when it is determined to match the constraints of the position, the second candidate of the position coordinates, by a selecting as the location coordinates of the captured image, wherein Determining the position coordinates of the captured image ; and
A method executed by the processor executing instructions stored in the memory.
(i)前記抽出ビットからランダムに選択したビットで構成される第3のサブセットを選択するステップと、
(ii)前記第3のサブセットをデコードするステップと、
(iii)(ii)に応答して、前記デコードされた第3のサブセットにおいて前記エラービットが検出されない場合、前記捕捉された画像の前記位置座標に対応する前記第2のビット配列の前記位置座標を決定するステップと
を備えることを特徴とする請求項1に記載の方法。 (B)
(I) selecting a third subset comprised of randomly selected bits from the extracted bits;
(Ii) decoding the third subset;
(Iii) in response to (ii), when the error bit in the third subset which are the decoding is not detected, the position coordinates of the second bit sequence corresponding to the position coordinates of the captured image the method according to claim 1, characterized in that it comprises a step of determining.
(A)前記捕捉された画像に関連付けられている抽出ビットであって、エンコードされた位置情報を含み、前記捕捉された画像から抽出される抽出ビットを取得する手段と、
(B)前記抽出ビットをデコードすることによって取得されるビットに、前記抽出ビットの不明瞭性によって生じるエラービットがない場合、前記抽出ビットをデコードすることにより、前記捕捉された画像の位置座標を決定する手段と、
(C)前記抽出ビットをデコードすることによって取得されるビットに、前記抽出ビットの不明瞭性によって生じるエラービットがある場合に、前記捕捉された画像の位置座標を決定する手段であって、
前記抽出ビットからランダムに選択されたビットで構成される第1のサブセットをデコードすることにより、前記捕捉された画像の位置座標の第1の候補を決定する手段と、
前記位置座標の第1の候補が、前記画像の位置座標が含まれるべき前記第1のビット配列内の特定のエリアを指定した位置の制約を満たすか判定する手段と、
前記位置座標の第1の候補が前記位置の制約を満たすとき、前記位置座標の第1の候補を、前記捕捉された画像の前記位置座標として選択する手段と、
前記位置座標の第1の候補が前記位置の制約を満たさないときに、
前記抽出ビットから、前記第1のサブセットとは異なるビットで構成される第2のサブセットを選択する手段と、
前記抽出ビットの前記第2のサブセットに含まれるビットをデコードして、前記捕捉された画像の位置座標の第2の候補を決定する手段と、
前記位置座標の第2の候補が、前記位置の制約に一致すると判定されたときに、前記位置座標の第2の候補を、前記画像の前記位置座標として選択する手段と
を含む手段と
を備えることを特徴とする装置。 An apparatus for determining a position of a second bit array corresponding to an image on the surface captured in an array of first bits encoding position information on a surface , wherein the second bit array image of the surface corresponding to the captured by a camera provided in the pen, the position where the determined indicates the position of the pen relative to the surface,
(A) means for obtaining extracted bits associated with the captured image , the encoded bits including encoded position information and extracted from the captured image ;
(B) on the bits that are acquired by decoding the extracted bits, if there are no error bits caused by ambiguity of the extraction bit by decoding the extracted bits, the position coordinates of the captured image Means to determine ,
The bits obtained by decoding the (C) the extracted bits, if there is an error bit caused by ambiguity of the extraction bit, and means for determining the position coordinates of the captured image,
By decoding the first subset consisting of bits selected randomly from the extraction bit, means for determining a first candidate position coordinates of the captured image,
First candidate of the position coordinates, means for determining whether to satisfy the constraints specified position a specific area coordinates within said first bit sequence should include the image,
When the first candidate of the position coordinates satisfy the constraints of the position, and means for selecting the first candidate of the position coordinates, as the position coordinates of the captured image,
When the first candidate for the position coordinate does not satisfy the position constraint,
Means for selecting , from the extracted bits , a second subset composed of bits different from the first subset ;
Means for decoding bits contained in the second subset of the extracted bits to determine second candidates for position coordinates of the captured image;
Second candidate of the position coordinates, when it is determined to match the constraints of the position, the second candidate of the position coordinates, and means comprising means for selecting as said position coordinates of the image A device characterized by that.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/752,109 US7583842B2 (en) | 2004-01-06 | 2004-01-06 | Enhanced approach of m-array decoding and error correction |
US10/752,109 | 2004-01-06 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010235305A Division JP5036857B2 (en) | 2004-01-06 | 2010-10-20 | Enhanced method of m-sequence decoding and error correction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005196789A JP2005196789A (en) | 2005-07-21 |
JP4833555B2 true JP4833555B2 (en) | 2011-12-07 |
Family
ID=34592558
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005001436A Expired - Fee Related JP4833555B2 (en) | 2004-01-06 | 2005-01-06 | Enhanced method of m-sequence decoding and error correction |
JP2010235305A Expired - Fee Related JP5036857B2 (en) | 2004-01-06 | 2010-10-20 | Enhanced method of m-sequence decoding and error correction |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010235305A Expired - Fee Related JP5036857B2 (en) | 2004-01-06 | 2010-10-20 | Enhanced method of m-sequence decoding and error correction |
Country Status (10)
Country | Link |
---|---|
US (1) | US7583842B2 (en) |
EP (1) | EP1553487A1 (en) |
JP (2) | JP4833555B2 (en) |
KR (1) | KR101122822B1 (en) |
CN (1) | CN1744104B (en) |
AU (1) | AU2004242549A1 (en) |
BR (1) | BRPI0500013A (en) |
CA (1) | CA2491579C (en) |
MX (1) | MXPA05000369A (en) |
RU (1) | RU2380736C2 (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133563B2 (en) | 2002-10-31 | 2006-11-07 | Microsoft Corporation | Passive embedded interaction code |
US7009594B2 (en) * | 2002-10-31 | 2006-03-07 | Microsoft Corporation | Universal computing device |
US7505982B2 (en) * | 2004-12-03 | 2009-03-17 | Microsoft Corporation | Local metadata embedding solution |
US7536051B2 (en) * | 2005-02-17 | 2009-05-19 | Microsoft Corporation | Digital pen calibration by local linearization |
US7607076B2 (en) * | 2005-02-18 | 2009-10-20 | Microsoft Corporation | Embedded interaction code document |
US7532366B1 (en) | 2005-02-25 | 2009-05-12 | Microsoft Corporation | Embedded interaction code printing with Microsoft Office documents |
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 |
US7619607B2 (en) * | 2005-06-30 | 2009-11-17 | Microsoft Corporation | Embedding a pattern design onto a liquid crystal display |
US7528848B2 (en) * | 2005-06-30 | 2009-05-05 | Microsoft Corporation | Embedded interaction code decoding for a liquid crystal display |
US7817816B2 (en) | 2005-08-17 | 2010-10-19 | Microsoft Corporation | Embedded interaction code enabled surface type identification |
US7445160B2 (en) * | 2006-06-14 | 2008-11-04 | Hewlett-Packard Development Company, L.P. | Position location using error correction |
CN101414833B (en) | 2007-10-19 | 2010-08-04 | 中兴通讯股份有限公司 | Method and apparatus for encoding low-density generated matrix code |
AU2009253801A1 (en) * | 2008-06-05 | 2009-12-10 | Smart Technologies Ulc | Multiple pointer ambiguity and occlusion resolution |
CN101319923B (en) * | 2008-07-09 | 2011-05-11 | 浙江工贸职业技术学院 | Method for testing writing performance of pen |
CN102150473B (en) * | 2008-09-09 | 2014-03-19 | 皇家飞利浦电子股份有限公司 | OLED lighting device with tag element |
EP2169357B1 (en) | 2008-09-24 | 2012-09-19 | CSEM Centre Suisse d'Electronique et de Microtechnique SA - Recherche et Développement | A two-dimension position encoder |
JP4750193B2 (en) * | 2009-02-28 | 2011-08-17 | 国立大学法人埼玉大学 | Marker element installation method and identification method |
US8566943B2 (en) * | 2009-10-01 | 2013-10-22 | Kaspersky Lab, Zao | Asynchronous processing of events for malware detection |
ES2645246T3 (en) * | 2012-12-18 | 2017-12-04 | Huawei Technologies Co., Ltd. | Method, system and communication device for optical network system |
US9101992B2 (en) | 2013-11-18 | 2015-08-11 | Ningbo Gemay Industry Co., Inc | Reciprocating saw blade assembly |
Family Cites Families (164)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ055999A0 (en) * | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (npage01) |
US4941124A (en) | 1982-01-25 | 1990-07-10 | Skinner Jr James T | Text comparator with counter shift register |
JPS59205874A (en) | 1983-05-10 | 1984-11-21 | Canon Inc | Picture data compressor |
US4742558A (en) * | 1984-02-14 | 1988-05-03 | Nippon Telegraph & Telephone Public Corporation | Image information retrieval/display apparatus |
NL8501460A (en) * | 1985-05-22 | 1986-12-16 | Philips Nv | METHOD FOR IDENTIFYING OBJECTS INCLUDING A CODE FIELD WITH DOT CODE, DEVICE FOR IDENTIFYING SUCH A DOT CODE, AND PRODUCT USING SUCH A DOT CODE |
US4829583A (en) * | 1985-06-03 | 1989-05-09 | Sino Business Machines, Inc. | Method and apparatus for processing ideographic characters |
US4686329A (en) | 1985-06-21 | 1987-08-11 | Advanced Robotic Technology, Inc. | Absolute position mouse |
US4972496A (en) | 1986-07-25 | 1990-11-20 | Grid Systems Corporation | Handwritten keyboardless entry computer system |
US4924078A (en) * | 1987-11-25 | 1990-05-08 | Sant Anselmo Carl | Identification symbol, system and method |
DE3826442A1 (en) * | 1988-08-03 | 1990-02-08 | Royocad Ges Fuer Hard Und Soft | PROJECTION HEAD |
US5635697A (en) | 1989-03-01 | 1997-06-03 | Symbol Technologies, Inc. | Method and apparatus for decoding two-dimensional bar code |
US5032924A (en) | 1989-04-10 | 1991-07-16 | Nilford Laboratories, Inc. | System for producing an image from a sequence of pixels |
KR930002339B1 (en) | 1989-04-20 | 1993-03-29 | 가부시기가이샤 도시바 | Method for fitting third-degree bezier curves to series of data points |
JPH0311481A (en) * | 1989-06-09 | 1991-01-18 | Casio Comput Co Ltd | Method and device for recording data, recording medium, and method and device for reproducing data |
US5153928A (en) | 1989-06-09 | 1992-10-06 | Casio Computer Co., Ltd. | Method and apparatus for recording/reproducing mesh pattern data |
US5051736A (en) | 1989-06-28 | 1991-09-24 | International Business Machines Corporation | Optical stylus and passive digitizing tablet data input system |
US5337361C1 (en) | 1990-01-05 | 2001-05-15 | Symbol Technologies Inc | Record with encoded data |
US5146552A (en) | 1990-02-28 | 1992-09-08 | International Business Machines Corporation | Method for associating annotation with electronically published material |
JP3168580B2 (en) * | 1990-04-05 | 2001-05-21 | セイコーエプソン株式会社 | Page description language interpreter |
DE4012608A1 (en) * | 1990-04-20 | 1991-10-24 | Roland Man Druckmasch | METHOD AND DEVICE FOR DETERMINING PASSAGE DIFFERENCES AT PRINT IMAGE SITES OF A MULTICOLOR OFFSET PRINT |
JPH06506080A (en) | 1991-04-03 | 1994-07-07 | ヒューレット・パッカード・カンパニー | position sensing device |
CA2045907C (en) | 1991-06-28 | 1998-12-15 | Gerald B. Anderson | A method for storing and retrieving annotations and redactions in final form documents |
US5247137A (en) | 1991-10-25 | 1993-09-21 | Mark Epperson | Autonomous computer input device and marking instrument |
US5448372A (en) | 1991-12-18 | 1995-09-05 | Eastman Kodak Company | Storage and retrieval of digitized photographic images |
US5294792A (en) * | 1991-12-31 | 1994-03-15 | Texas Instruments Incorporated | Writing tip position sensing and processing apparatus |
JPH0644005A (en) | 1992-01-24 | 1994-02-18 | Seiko Instr Inc | Coordinate input device |
US5756981A (en) * | 1992-02-27 | 1998-05-26 | Symbol Technologies, Inc. | Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means |
US5477012A (en) | 1992-04-03 | 1995-12-19 | Sekendur; Oral F. | Optical position determination |
US5852434A (en) | 1992-04-03 | 1998-12-22 | Sekendur; Oral F. | Absolute optical position determination |
US5243149A (en) | 1992-04-10 | 1993-09-07 | International Business Machines Corp. | Method and apparatus for improving the paper interface to computing systems |
US5235654A (en) | 1992-04-30 | 1993-08-10 | International Business Machines Corporation | Advanced data capture architecture data processing system and method for scanned images of document forms |
JP2861647B2 (en) | 1992-07-08 | 1999-02-24 | 松下電器産業株式会社 | Image generation device |
DE69334349D1 (en) | 1992-09-01 | 2011-04-21 | Apple Inc | Improved vector quatization |
US5288986A (en) * | 1992-09-17 | 1994-02-22 | Motorola, Inc. | Binary code matrix having data and parity bits |
ATE235720T1 (en) * | 1992-09-28 | 2003-04-15 | Olympus Optical Co | INFORMATION REPRODUCTION SYSTEM FOR OPTICAL DOT CODE READING FROM A RECORDING MEDIUM |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5450603A (en) | 1992-12-18 | 1995-09-12 | Xerox Corporation | SIMD architecture with transfer register or value source circuitry connected to bus |
JPH06266490A (en) * | 1993-03-12 | 1994-09-22 | Toshiba Corp | Information input device and position recognition system for information input |
JP3526067B2 (en) | 1993-03-15 | 2004-05-10 | 株式会社東芝 | Reproduction device and reproduction method |
US5414227A (en) * | 1993-04-29 | 1995-05-09 | International Business Machines Corporation | Stylus tilt detection apparatus for communication with a remote digitizing display |
US5398082A (en) * | 1993-05-20 | 1995-03-14 | Hughes-Jvc Technology Corporation | Scanned illumination for light valve video projectors |
US5335150A (en) | 1993-08-31 | 1994-08-02 | Huang Chao C | Laser pointer with a constant power output control |
US5394487A (en) * | 1993-10-27 | 1995-02-28 | International Business Machines Corporation | Forms recognition management system and method |
US6243071B1 (en) | 1993-11-03 | 2001-06-05 | Apple Computer, Inc. | Tool set for navigating through an electronic book |
US5822436A (en) | 1996-04-25 | 1998-10-13 | Digimarc Corporation | Photographic products and methods employing embedded information |
EP0654755B1 (en) | 1993-11-23 | 2000-08-02 | International Business Machines Corporation | A system and method for automatic handwriting recognition with a writer-independent chirographic label alphabet |
EP0654746B1 (en) * | 1993-11-24 | 2003-02-12 | Canon Kabushiki Kaisha | Form identification and processing system |
EP0655674B1 (en) * | 1993-11-30 | 2000-03-08 | Hewlett-Packard Company | Data input apparatus |
EP0686291B1 (en) | 1993-12-01 | 2001-10-10 | Motorola, Inc. | Combined dictionary based and likely character string handwriting recognition |
US5875264A (en) * | 1993-12-03 | 1999-02-23 | Kaman Sciences Corporation | Pixel hashing image recognition system |
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
US5640468A (en) | 1994-04-28 | 1997-06-17 | Hsu; Shin-Yi | Method for identifying objects and features in an image |
GB9408626D0 (en) | 1994-04-29 | 1994-06-22 | Electronic Automation Ltd | Machine readable binary code |
US5897648A (en) * | 1994-06-27 | 1999-04-27 | Numonics Corporation | Apparatus and method for editing electronic documents |
US5652412A (en) | 1994-07-11 | 1997-07-29 | Sia Technology Corp. | Pen and paper information recording system |
EP0693739A3 (en) | 1994-07-13 | 1997-06-11 | Yashima Denki Kk | Method and apparatus capable of storing and reproducing handwriting |
US5774602A (en) | 1994-07-13 | 1998-06-30 | Yashima Electric Co., Ltd. | Writing device for storing handwriting |
US6052481A (en) * | 1994-09-02 | 2000-04-18 | Apple Computers, Inc. | Automatic method for scoring and clustering prototypes of handwritten stroke-based data |
US5727098A (en) * | 1994-09-07 | 1998-03-10 | Jacobson; Joseph M. | Oscillating fiber optic display and imager |
US5661506A (en) | 1994-11-10 | 1997-08-26 | Sia Technology Corporation | Pen and paper information recording system using an imaging pen |
CA2163316A1 (en) * | 1994-11-21 | 1996-05-22 | Roger L. Collins | Interactive play with a computer |
JPH08237407A (en) | 1994-12-09 | 1996-09-13 | Xerox Corp | Method of positioning relative alignment of picture tile andcorrecting penetrative distortion |
US5961571A (en) | 1994-12-27 | 1999-10-05 | Siemens Corporated Research, Inc | Method and apparatus for automatically tracking the location of vehicles |
US5939703A (en) | 1995-01-03 | 1999-08-17 | Xerox Corporation | Distributed dimensional labeling for dimensional characterization of embedded data blocks |
US5626620A (en) * | 1995-02-21 | 1997-05-06 | Medtronic, Inc. | Dual chamber pacing system and method with continual adjustment of the AV escape interval so as to maintain optimized ventricular pacing for treating cardiomyopathy |
US6295372B1 (en) * | 1995-03-03 | 2001-09-25 | Palm, Inc. | Method and apparatus for handwriting input on a pen based palmtop computing device |
JP3668275B2 (en) | 1995-03-15 | 2005-07-06 | シャープ株式会社 | Digital information recording method, decoding method and decoding device |
JP3474022B2 (en) | 1995-04-20 | 2003-12-08 | 株式会社日立製作所 | Map display device, map display method, arithmetic processing unit for map display device, and navigation system |
JPH0944592A (en) * | 1995-05-23 | 1997-02-14 | Olympus Optical Co Ltd | Information reproduction system |
JPH08313215A (en) * | 1995-05-23 | 1996-11-29 | Olympus Optical Co Ltd | Two-dimensional distance sensor |
US5661291A (en) | 1995-06-07 | 1997-08-26 | Hand Held Products, Inc. | Audio proof of delivery system and method |
US6044165A (en) * | 1995-06-15 | 2000-03-28 | California Institute Of Technology | Apparatus and method for tracking handwriting from visual input |
US5719884A (en) * | 1995-07-27 | 1998-02-17 | Hewlett-Packard Company | Error correction method and apparatus based on two-dimensional code array with reduced redundancy |
US6081261A (en) | 1995-11-01 | 2000-06-27 | Ricoh Corporation | Manual entry interactive paper and electronic document handling and processing system |
JPH09146691A (en) | 1995-11-17 | 1997-06-06 | Hitachi Ltd | Information processor |
US6000621A (en) | 1995-12-21 | 1999-12-14 | Xerox Corporation | Tilings of mono-code and dual-code embedded data pattern strips for robust asynchronous capture |
US5902968A (en) * | 1996-02-20 | 1999-05-11 | Ricoh Company, Ltd. | Pen-shaped handwriting input apparatus using accelerometers and gyroscopes and an associated operational device for determining pen movement |
US6686910B2 (en) * | 1996-04-22 | 2004-02-03 | O'donnell, Jr. Francis E. | Combined writing instrument and digital documentor apparatus and method of use |
US5890177A (en) * | 1996-04-24 | 1999-03-30 | International Business Machines Corporation | Method and apparatus for consolidating edits made by multiple editors working on multiple document copies |
US5692073A (en) | 1996-05-03 | 1997-11-25 | Xerox Corporation | Formless forms and paper web using a reference-based mark extraction technique |
US6054990A (en) * | 1996-07-05 | 2000-04-25 | Tran; Bao Q. | Computer system with handwriting annotation |
US6104834A (en) * | 1996-08-01 | 2000-08-15 | Ricoh Company Limited | Matching CCITT compressed document images |
US5765176A (en) | 1996-09-06 | 1998-06-09 | Xerox Corporation | Performing document image management tasks using an iconic image having embedded encoded information |
US5825892A (en) | 1996-10-28 | 1998-10-20 | International Business Machines Corporation | Protecting images with an image watermark |
US6202060B1 (en) * | 1996-10-29 | 2001-03-13 | Bao Q. Tran | Data management system |
US6157935A (en) | 1996-12-17 | 2000-12-05 | Tran; Bao Q. | Remote data access and management system |
US6000614A (en) | 1996-12-20 | 1999-12-14 | Denso Corporation | Two-dimensional code reading apparatus |
US5937110A (en) * | 1996-12-20 | 1999-08-10 | Xerox Corporation | Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space |
US5995084A (en) | 1997-01-17 | 1999-11-30 | Tritech Microelectronics, Ltd. | Touchpad pen-input and mouse controller |
US6041335A (en) * | 1997-02-10 | 2000-03-21 | Merritt; Charles R. | Method of annotating a primary image with an image and for transmitting the annotated primary image |
US6208894B1 (en) * | 1997-02-26 | 2001-03-27 | Alfred E. Mann Foundation For Scientific Research And Advanced Bionics | System of implantable devices for monitoring and/or affecting body parameters |
US5817992A (en) | 1997-03-05 | 1998-10-06 | Rpg Diffusor Systems, Inc. | Planar binary amplitude diffusor |
JPH10326331A (en) * | 1997-03-24 | 1998-12-08 | Olympus Optical Co Ltd | Recording medium with dot code, and code reader |
US6219149B1 (en) * | 1997-04-01 | 2001-04-17 | Fuji Xerox Co., Ltd. | Print processing apparatus |
US6188392B1 (en) * | 1997-06-30 | 2001-02-13 | Intel Corporation | Electronic pen device |
US5855594A (en) * | 1997-08-08 | 1999-01-05 | Cardiac Pacemakers, Inc. | Self-calibration system for capture verification in pacing devices |
US6518950B1 (en) | 1997-10-07 | 2003-02-11 | Interval Research Corporation | Methods and systems for providing human/computer interfaces |
US6181329B1 (en) * | 1997-12-23 | 2001-01-30 | Ricoh Company, Ltd. | Method and apparatus for tracking a hand-held writing instrument with multiple sensors that are calibrated by placing the writing instrument in predetermined positions with respect to the writing surface |
US6230304B1 (en) * | 1997-12-24 | 2001-05-08 | Magma Design Automation, Inc. | Method of designing a constraint-driven integrated circuit layout |
US6000946A (en) | 1998-03-09 | 1999-12-14 | Hewlett-Packard Company | Collaborative drawing device |
US6192380B1 (en) * | 1998-03-31 | 2001-02-20 | Intel Corporation | Automatic web based form fill-in |
US6070102A (en) * | 1998-04-29 | 2000-05-30 | Medtronic, Inc. | Audible sound confirmation of programming an implantable medical device |
US6108453A (en) | 1998-09-16 | 2000-08-22 | Intel Corporation | General image enhancement framework |
US6278434B1 (en) * | 1998-10-07 | 2001-08-21 | Microsoft Corporation | Non-square scaling of image data to be mapped to pixel sub-components |
US6088482A (en) * | 1998-10-22 | 2000-07-11 | Symbol Technologies, Inc. | Techniques for reading two dimensional code, including maxicode |
US6532152B1 (en) * | 1998-11-16 | 2003-03-11 | Intermec Ip Corp. | Ruggedized hand held computer |
US6226636B1 (en) * | 1998-11-20 | 2001-05-01 | Philips Electronics North America Corp. | System for retrieving images using a database |
US6529638B1 (en) * | 1999-02-01 | 2003-03-04 | Sharp Laboratories Of America, Inc. | Block boundary artifact reduction for block-based image compression |
US6551357B1 (en) * | 1999-02-12 | 2003-04-22 | International Business Machines Corporation | Method, system, and program for storing and retrieving markings for display to an electronic media file |
US6560741B1 (en) * | 1999-02-24 | 2003-05-06 | Datastrip (Iom) Limited | Two-dimensional printed code for storing biometric information and integrated off-line apparatus for reading same |
US6614422B1 (en) * | 1999-11-04 | 2003-09-02 | Canesta, Inc. | Method and apparatus for entering data using a virtual input device |
US6832717B1 (en) * | 1999-05-25 | 2004-12-21 | Silverbrook Research Pty Ltd | Computer system interface surface |
AUPQ439299A0 (en) * | 1999-12-01 | 1999-12-23 | Silverbrook Research Pty Ltd | Interface system |
US7102772B1 (en) * | 1999-05-25 | 2006-09-05 | Silverbrook Research Pty Ltd | Method and system for delivery of a facsimile |
US6813039B1 (en) * | 1999-05-25 | 2004-11-02 | Silverbrook Research Pty Ltd | Method and system for accessing the internet |
US6880124B1 (en) * | 1999-06-04 | 2005-04-12 | Hewlett-Packard Development Company, L.P. | Methods of storing and retrieving information, and methods of document retrieval |
US6847356B1 (en) * | 1999-08-13 | 2005-01-25 | Canon Kabushiki Kaisha | Coordinate input device and its control method, and computer readable memory |
SE517445C2 (en) * | 1999-10-01 | 2002-06-04 | Anoto Ab | Position determination on a surface provided with a position coding pattern |
US6710770B2 (en) * | 2000-02-11 | 2004-03-23 | Canesta, Inc. | Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device |
US6870547B1 (en) * | 1999-12-16 | 2005-03-22 | Eastman Kodak Company | Method and apparatus for rendering a low-resolution thumbnail image suitable for a low resolution display having a reference back to an original digital negative and an edit list of operations |
US6697056B1 (en) * | 2000-01-11 | 2004-02-24 | Workonce Wireless Corporation | Method and system for form recognition |
US6992655B2 (en) * | 2000-02-18 | 2006-01-31 | Anoto Ab | Input unit arrangement |
US6864880B2 (en) * | 2000-03-21 | 2005-03-08 | Anoto Ab | Device and method for communication |
SE0000949L (en) * | 2000-03-21 | 2001-09-22 | Anoto Ab | location information |
US20020048404A1 (en) * | 2000-03-21 | 2002-04-25 | Christer Fahraeus | Apparatus and method for determining spatial orientation |
US6999622B2 (en) * | 2000-03-31 | 2006-02-14 | Brother Kogyo Kabushiki Kaisha | Stroke data editing device |
IL153030A (en) * | 2000-05-24 | 2005-11-20 | Silverbrook Res Pty Ltd | Printed page tag encoder and method for its use |
US20030050803A1 (en) * | 2000-07-20 | 2003-03-13 | Marchosky J. Alexander | Record system |
US20020031622A1 (en) * | 2000-09-08 | 2002-03-14 | Ippel Scott C. | Plastic substrate for information devices and method for making same |
US7167164B2 (en) * | 2000-11-10 | 2007-01-23 | Anoto Ab | Recording and communication of handwritten information |
US6856712B2 (en) * | 2000-11-27 | 2005-02-15 | University Of Washington | Micro-fabricated optical waveguide for use in scanning fiber displays and scanned fiber image acquisition |
US6538187B2 (en) * | 2001-01-05 | 2003-03-25 | International Business Machines Corporation | Method and system for writing common music notation (CMN) using a digital pen |
US20040032393A1 (en) * | 2001-04-04 | 2004-02-19 | Brandenberg Carl Brock | Method and apparatus for scheduling presentation of digital content on a personal communication device |
US6865325B2 (en) * | 2001-04-19 | 2005-03-08 | International Business Machines Corporation | Discrete pattern, apparatus, method, and program storage device for generating and implementing the discrete pattern |
US7176906B2 (en) * | 2001-05-04 | 2007-02-13 | Microsoft Corporation | Method of generating digital ink thickness information |
DE10123406A1 (en) * | 2001-05-15 | 2002-11-21 | Sick Ag | Detecting two-dimensional codes involves detecting unreliable image areas whose gray values are close to binarization threshold for particularly attention during error correction process |
US6517266B2 (en) * | 2001-05-15 | 2003-02-11 | Xerox Corporation | Systems and methods for hand-held printing on a surface or medium |
US6814289B2 (en) * | 2001-05-30 | 2004-11-09 | Sandia Corporation | Self-registering spread-spectrum barcode method |
US20030030638A1 (en) * | 2001-06-07 | 2003-02-13 | Karl Astrom | Method and apparatus for extracting information from a target area within a two-dimensional graphical object in an image |
US6667695B2 (en) * | 2001-06-25 | 2003-12-23 | Anoto Ab | Position code |
US20030001020A1 (en) * | 2001-06-27 | 2003-01-02 | Kardach James P. | Paper identification information to associate a printed application with an electronic application |
US20030034961A1 (en) * | 2001-08-17 | 2003-02-20 | Chi-Lei Kao | Input system and method for coordinate and pattern |
US7145556B2 (en) * | 2001-10-29 | 2006-12-05 | Anoto Ab | Method and device for decoding a position-coding pattern |
SE0103589L (en) * | 2001-10-29 | 2003-04-30 | Anoto Ab | Method and apparatus for decoding a position coding pattern |
JP3771831B2 (en) | 2001-11-01 | 2006-04-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Computer system and program for sharing annotation information added to digital content |
US7003150B2 (en) * | 2001-11-05 | 2006-02-21 | Koninklijke Philips Electronics N.V. | Homography transfer from point matches |
US20030117378A1 (en) | 2001-12-21 | 2003-06-26 | International Business Machines Corporation | Device and system for retrieving and displaying handwritten annotations |
US6862371B2 (en) * | 2001-12-31 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Method of compressing images of arbitrarily shaped objects |
US7024429B2 (en) * | 2002-01-31 | 2006-04-04 | Nextpage,Inc. | Data replication based upon a non-destructive data model |
US7190843B2 (en) * | 2002-02-01 | 2007-03-13 | Siemens Corporate Research, Inc. | Integrated approach to brightness and contrast normalization in appearance-based object detection |
US7502507B2 (en) * | 2002-10-31 | 2009-03-10 | Microsoft Corporation | Active embedded interaction code |
US7009594B2 (en) * | 2002-10-31 | 2006-03-07 | Microsoft Corporation | Universal computing device |
US7116840B2 (en) * | 2002-10-31 | 2006-10-03 | Microsoft Corporation | Decoding and error correction in 2-D arrays |
JP2006512695A (en) * | 2002-12-23 | 2006-04-13 | デクステラ・インコーポレイテッド | Mobile data and software update system and method |
US6879731B2 (en) * | 2003-04-29 | 2005-04-12 | Microsoft Corporation | System and process for generating high dynamic range video |
US20050052700A1 (en) * | 2003-09-10 | 2005-03-10 | Andrew Mackenzie | Printing digital documents |
US7263224B2 (en) * | 2004-01-16 | 2007-08-28 | Microsoft Corporation | Strokes localization by m-array decoding and fast image matching |
US7477784B2 (en) * | 2005-03-01 | 2009-01-13 | Microsoft Corporation | Spatial transforms from displayed codes |
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 |
US7619607B2 (en) * | 2005-06-30 | 2009-11-17 | Microsoft Corporation | Embedding a pattern design onto a liquid crystal display |
US7528848B2 (en) * | 2005-06-30 | 2009-05-05 | Microsoft Corporation | Embedded interaction code decoding for a liquid crystal display |
US7817816B2 (en) * | 2005-08-17 | 2010-10-19 | Microsoft Corporation | Embedded interaction code enabled surface type identification |
US7622182B2 (en) * | 2005-08-17 | 2009-11-24 | Microsoft Corporation | Embedded interaction code enabled display |
-
2004
- 2004-01-06 US US10/752,109 patent/US7583842B2/en not_active Expired - Fee Related
- 2004-12-30 RU RU2004139195/09A patent/RU2380736C2/en not_active IP Right Cessation
- 2004-12-31 AU AU2004242549A patent/AU2004242549A1/en not_active Abandoned
- 2004-12-31 CA CA2491579A patent/CA2491579C/en not_active Expired - Fee Related
-
2005
- 2005-01-05 EP EP05000170A patent/EP1553487A1/en not_active Ceased
- 2005-01-06 MX MXPA05000369A patent/MXPA05000369A/en active IP Right Grant
- 2005-01-06 CN CN2005100041799A patent/CN1744104B/en not_active Expired - Fee Related
- 2005-01-06 BR BR0500013-0A patent/BRPI0500013A/en not_active IP Right Cessation
- 2005-01-06 KR KR1020050001153A patent/KR101122822B1/en active IP Right Grant
- 2005-01-06 JP JP2005001436A patent/JP4833555B2/en not_active Expired - Fee Related
-
2010
- 2010-10-20 JP JP2010235305A patent/JP5036857B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
BRPI0500013A (en) | 2005-09-06 |
CA2491579C (en) | 2013-01-29 |
JP2011034584A (en) | 2011-02-17 |
KR101122822B1 (en) | 2012-03-21 |
AU2004242549A1 (en) | 2005-07-21 |
MXPA05000369A (en) | 2005-08-19 |
CA2491579A1 (en) | 2005-07-06 |
CN1744104B (en) | 2010-10-13 |
RU2004139195A (en) | 2006-06-10 |
RU2380736C2 (en) | 2010-01-27 |
JP2005196789A (en) | 2005-07-21 |
JP5036857B2 (en) | 2012-09-26 |
US20050193292A1 (en) | 2005-09-01 |
US7583842B2 (en) | 2009-09-01 |
CN1744104A (en) | 2006-03-08 |
EP1553487A1 (en) | 2005-07-13 |
KR20050072695A (en) | 2005-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5036857B2 (en) | Enhanced method of m-sequence decoding and error correction | |
JP4750425B2 (en) | Camera- nib mapping and calibration | |
JP5009326B2 (en) | Method of decoding and error correction in a two-dimensional array | |
RU2375740C2 (en) | DETERMINATION OF LOCATION OF LINES BY m-ARRAY DECODING AND FAST COMPARISON OF IMAGES | |
US8156153B2 (en) | Global metadata embedding and decoding | |
US7536051B2 (en) | Digital pen calibration by local linearization | |
JP4926466B2 (en) | Local metadata embedding solution | |
US7542976B2 (en) | Local metadata embedding and decoding | |
JP4822775B2 (en) | Maze pattern analysis method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101020 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110729 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20110801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110801 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110822 |
|
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: 20110916 |
|
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: 20110922 |
|
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: 20140930 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |