JP2008299508A - Position detection device and program - Google Patents
Position detection device and program Download PDFInfo
- Publication number
- JP2008299508A JP2008299508A JP2007143628A JP2007143628A JP2008299508A JP 2008299508 A JP2008299508 A JP 2008299508A JP 2007143628 A JP2007143628 A JP 2007143628A JP 2007143628 A JP2007143628 A JP 2007143628A JP 2008299508 A JP2008299508 A JP 2008299508A
- Authority
- JP
- Japan
- Prior art keywords
- partial image
- code
- image
- information
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、位置検出装置、プログラムに関する。 The present invention relates to a position detection device and a program.
表面上の複数の位置を符号化する位置コードを提供する方法は知られている(例えば、特許文献1参照)。この特許文献1では、循環数字列を表面に沿って複数回印刷する。その際、循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用し、表面を分割した複数のコードウィンドウが、少なくとも3つの循環数字列を備えると共に、隣り合うコードウィンドウの1つの数字列と重なり合う1つの数字列を有するものであり、また、コードウィンドウの位置を、そのコードウィンドウに属している循環数字列間のずれによって符号化している。
A method for providing a position code for encoding a plurality of positions on a surface is known (see, for example, Patent Document 1). In this
論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている(例えば、特許文献2参照)。この特許文献2では、本質的に同一であるエンコーディングの多数のコピーを形成し、機械認識可能な空間同期指標をエンコーディングのコピーの各々の中のプリント位置に組み合わせて、エンコーディングの空間的に同期可能な多数の事例を提供し、それらの事例をレイアウト規則に従って記録媒体における空間的に周期的な中心の格子に書き込んでいる。 There is also known a technique that enables spatially asynchronous reading of encoding from a recording medium that records machine-readable encoding of digital quantum that is logically ranked (see, for example, Patent Document 2). In this document, multiple copies of an encoding that are essentially identical can be formed, and a machine-recognizable spatial synchronization index can be combined with the print position in each of the encoding copies to synchronize the encoding spatially. A large number of cases are provided, and these cases are written in a spatially periodic center grid in the recording medium according to the layout rules.
取り込まれた画像の位置をより大きい画像から決定するためのシステム及び方法も知られている(例えば、特許文献3参照)。この特許文献3では、非反復的な系列を、所定のサイズのサブウィンドウ毎に固有とされた非反復的な配列に折り畳み、その取り込まれた位置を非反復的な配列内のサブウィンドウ毎に決定することによって、取り込まれた画像の位置を、より大きいサブウィンドウの画像から決定している。
Systems and methods for determining the position of captured images from larger images are also known (see, for example, Patent Document 3). In this
光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている(例えば、特許文献4参照)。この特許文献4において、記録装置は、プリンタシステムや印刷用製版システムにより、オーディオ情報、映像情報、ディジタルコードデータ等を含めた所謂マルチメディア情報を光学的に読み取り可能なドットコードとして、画像や文字と一緒に紙等の媒体上に記録する。ペン型の情報再生装置は、ドットコードの手動走査に応じてそのドットコードを順次取り込んで、元のオーディオ情報を音声出力器にて、元の映像情報を表示装置にて、元のディジタルコードデータをページプリンタ等にて出力する。
A technique that enables long-time recording and repeated reproduction of multimedia information that is optically readable is also known (see, for example, Patent Document 4). In this
タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている(例えば、特許文献5参照)。この特許文献5において、ペン型の座標入力装置は、媒体上に形成されその媒体上の座標を示すコードシンボルを光学的に読み取り、この読み取ったコードシンボルをデコードし、読み取った画像中におけるコードシンボルの位置、向き及び歪み量を検出する。そして、デコード後の情報と、コードシンボルの位置、向き及び歪み量とにより、先端部の媒体上での位置の座標を検出する。
There is also known a technique that enables precise detection of coordinates on a medium without using a tablet (see, for example, Patent Document 5). In this
ここで、従来、媒体上の指示された位置と、媒体から読み取られた部分画像と、媒体上の位置の検出に用いられる部分画像との間にズレがある場合には、媒体上の指示された位置を精度よく求めることはできないという課題があった。
本発明の目的は、媒体上の指示された位置と、媒体から読み取られた部分画像と、媒体上の位置の検出に用いられる部分画像との間にズレがあっても、媒体上の指示された位置を精度よく求めることができるようにすることにある。
Conventionally, when there is a deviation between the indicated position on the medium, the partial image read from the medium, and the partial image used for detecting the position on the medium, the indication on the medium is indicated. There was a problem that it was not possible to accurately determine the position.
The object of the present invention is to indicate the position on the medium even if there is a deviation between the indicated position on the medium, the partial image read from the medium, and the partial image used for detecting the position on the medium. This is to make it possible to obtain the determined position with high accuracy.
請求項1に記載の発明は、媒体上の位置を指示する指示手段と、前記媒体に印刷された画像に含まれる第1の部分画像を読み取る読取手段と、前記読取手段により読み取られた前記第1の部分画像から、前記媒体上での自身の位置を表す第2の部分画像を抽出する抽出手段と、前記抽出手段により抽出された前記第2の部分画像を用いて、前記媒体上での当該第2の部分画像の位置を検出する検出手段と、前記指示手段により指示された位置の前記第1の部分画像に対する相対位置を示す第1の情報と、前記第1の部分画像の前記第2の部分画像に対する相対位置を示す第2の情報とを取得する取得手段と、前記検出手段により検出された前記第2の部分画像の位置を、前記第1の情報と前記第2の情報とを用いて補正する補正手段とを備えたことを特徴とする位置検出装置である。
請求項2に記載の発明は、前記取得手段は、前記指示手段により指示された位置の前記第1の部分画像の中心からの距離及び方向を特定する情報を、前記第1の情報として取得することを特徴とする請求項1記載の位置検出装置である。
請求項3に記載の発明は、前記抽出手段は、前記第1の部分画像から第3の部分画像を抽出した後、当該第3の部分画像から前記第2の部分画像を抽出し、前記取得手段は、前記第2の情報を、前記第1の部分画像の前記第3の部分画像に対する相対位置を示す第3の情報と、前記第3の部分画像の前記第2の部分画像に対する相対位置を示す第4の情報とに分けて取得することを特徴とする請求項1記載の位置検出装置である。
請求項4に記載の発明は、前記取得手段は、前記第1の部分画像の中心の前記第3の部分画像の中心からの距離及び方向を特定する情報を、前記第3の情報として取得することを特徴とする請求項3記載の位置検出装置である。
請求項5に記載の発明は、前記取得手段は、前記第1の部分画像の前記第3の部分画像に対する回転角度を特定する情報を、前記第3の情報として更に取得することを特徴とする請求項4記載の位置検出装置である。
請求項6に記載の発明は、前記第2の部分画像及び前記第3の部分画像は、垂直軸及び水平軸を共有する矩形をなしており、前記取得手段は、前記第3の部分画像の1つの頂点の前記第2の部分画像の1つの頂点からの前記垂直軸方向及び前記水平軸方向の変位を特定する情報を、前記第4の情報として取得することを特徴とする請求項3記載の位置検出装置である。
請求項7に記載の発明は、前記第2の部分画像は、m(m≧4)箇所のうちのn(2≦n<m)箇所に単位画像を配置したパターン画像を前記垂直軸方向にAx(Ax≧2)個、前記水平軸方向にAy(Ay≧2)個配置してなる画像であり、前記抽出手段は、前記パターン画像と略同じ大きさの区画を前記垂直軸方向にAx個、前記水平軸方向にAy個配置してなる枠を、前記第3の部分画像上で移動し、n個の単位画像を含む区画が所定数以上となる移動位置を求め、当該移動位置における当該枠内の画像を前記第2の部分画像として抽出し、前記取得手段は、前記移動位置までの前記枠の前記垂直軸方向及び前記水平軸方向の移動量を、前記変位を特定する情報として取得することを特徴とする請求項6記載の位置検出装置である。
請求項8に記載の発明は、コンピュータに、媒体に印刷された画像から読み取られた当該画像の第1の部分画像から、当該媒体上での自身の位置を表す第2の部分画像を抽出する機能と、抽出された前記第2の部分画像を用いて、前記媒体上での当該第2の部分画像の位置を検出する機能と、指示手段により指示された前記媒体上の位置の前記第1の部分画像に対する相対位置を示す第1の情報と、前記第1の部分画像の前記第2の部分画像に対する相対位置を示す第2の情報とを取得する機能と、検出された前記第2の部分画像の位置を、前記第1の情報と前記第2の情報とを用いて補正する機能とを実現させるためのプログラムである。
請求項9に記載の発明は、前記抽出する機能では、前記第1の部分画像から第3の部分画像を抽出した後、当該第3の部分画像から前記第2の部分画像を抽出し、前記取得する機能では、前記第2の情報を、前記第1の部分画像の前記第3の部分画像に対する相対位置を示す第3の情報と、前記第3の部分画像の前記第2の部分画像に対する相対位置を示す第4の情報とに分けて取得することを特徴とする請求項8記載のプログラムである。
According to the first aspect of the present invention, there is provided an instruction unit for indicating a position on a medium, a reading unit for reading a first partial image included in an image printed on the medium, and the first read by the reading unit. Extracting means for extracting a second partial image representing its own position on the medium from one partial image, and using the second partial image extracted by the extracting means, Detection means for detecting the position of the second partial image; first information indicating a relative position of the position indicated by the indication means with respect to the first partial image; and the first information of the first partial image. Acquisition means for acquiring second information indicating a relative position with respect to the second partial image; and the position of the second partial image detected by the detection means; the first information and the second information; Correction means for correcting using It is a position detecting apparatus according to claim.
According to a second aspect of the present invention, the acquisition unit acquires, as the first information, information that specifies a distance and direction from the center of the first partial image at the position indicated by the instruction unit. The position detecting device according to
According to a third aspect of the present invention, the extraction unit extracts the second partial image from the third partial image after extracting the third partial image from the first partial image, and acquires the second partial image. The means includes the second information, third information indicating a relative position of the first partial image with respect to the third partial image, and a relative position of the third partial image with respect to the second partial image. The position detection device according to
According to a fourth aspect of the present invention, the acquisition unit acquires, as the third information, information that specifies a distance and a direction of the center of the first partial image from the center of the third partial image. The position detecting device according to
The invention according to
According to a sixth aspect of the present invention, the second partial image and the third partial image form a rectangle sharing a vertical axis and a horizontal axis, and the acquisition means The information specifying the displacement in the vertical axis direction and the horizontal axis direction from one vertex of the second partial image of one vertex is acquired as the fourth information. This is a position detection device.
In the seventh aspect of the invention, the second partial image includes a pattern image in which unit images are arranged at n (2 ≦ n <m) of m (m ≧ 4) in the vertical axis direction. Ax (Ax ≧ 2) and Ay (Ay ≧ 2) images are arranged in the horizontal axis direction, and the extracting unit extracts a section having the same size as the pattern image in the vertical axis direction. Ay frames arranged in the horizontal axis direction are moved on the third partial image to obtain a moving position where the number of sections including n unit images is a predetermined number or more. The image in the frame is extracted as the second partial image, and the acquisition means uses the movement amount in the vertical axis direction and the horizontal axis direction of the frame to the movement position as information for specifying the displacement. The position detection device according to
The invention according to claim 8 extracts a second partial image representing its position on the medium from the first partial image of the image read from the image printed on the medium, to the computer. A function, a function of detecting the position of the second partial image on the medium using the extracted second partial image, and the first of the position on the medium instructed by the instruction unit A first information indicating a relative position of the first partial image and a second information indicating a relative position of the first partial image with respect to the second partial image, and the detected second information It is a program for realizing the function of correcting the position of a partial image using the first information and the second information.
In the invention according to
請求項1の発明は、媒体上の指示された位置と、媒体から読み取られた部分画像と、媒体上の位置の検出に用いられる部分画像との間にズレがあっても、本構成を有していない場合に比較して、媒体上の指示された位置を精度よく求めることができるという効果を有する。
請求項2の発明は、本構成を有していない場合に比較して、媒体から読み取られた部分画像から媒体上の指示された位置を求める計算が容易になるという効果を有する。
請求項3の発明は、媒体から読み取られた部分画像の一部を抽出し、そこから媒体上の位置の検出に用いられる部分画像を抽出する必要があっても、本構成を有していない場合に比較して、媒体上の指示された位置を精度よく求めることができるという効果を有する。
請求項4の発明は、本構成を有していない場合に比較して、媒体から読み取られた部分画像をそこから抽出した一部の画像から求める計算が容易になるという効果を有する。
請求項5の発明は、媒体から読み取られた部分画像とそこから抽出した一部の画像とに角度の違いがあったとしても、媒体から読み取られた部分画像をそこから抽出した一部の画像から求めることができるという効果を有する。
請求項6の発明は、媒体から読み取られた部分画像の一部の画像を媒体上の位置の検出に用いられる部分画像から求める計算が容易になるという効果を有する。
請求項7の発明は、mCn方式を用いた場合の復号処理における結果を用いて、媒体から読み取られた部分画像の一部の画像を媒体上の位置の検出に用いられる部分画像を求めることができるという効果を有する。
請求項8の発明は、媒体上の指示された位置と、媒体から読み取られた部分画像と、媒体上の位置の検出に用いられる部分画像との間にズレがあっても、本構成を有していない場合に比較して、媒体上の指示された位置を精度よく求めることができるという効果を有する。
請求項9の発明は、媒体から読み取られた部分画像の一部を抽出し、そこから媒体上の位置の検出に用いられる部分画像を抽出する必要があっても、本構成を有していない場合に比較して、媒体上の指示された位置を精度よく求めることができるという効果を有する。
The invention of
The invention of
The invention of
The invention of
According to the fifth aspect of the present invention, even if there is a difference in angle between the partial image read from the medium and the partial image extracted from the partial image, the partial image read from the medium is extracted from the partial image. It has the effect that it can obtain | require from.
The invention according to
According to the seventh aspect of the present invention, a partial image used for detecting a position on a medium is obtained from a partial image read from the medium by using a result in a decoding process when the mCn method is used. It has the effect of being able to.
The invention of
The invention of
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、読み込む符号画像を構成する符号パターンについて説明する。
本実施の形態では、m(m≧3)箇所から選択したn(1≦n<m)箇所に単位画像を配置してなるパターン画像(以下、「単位符号パターン」という)によってmCn(=m!/{(m−n)!×n!})通りの情報を表現する。つまり、1つの単位画像を情報に対応させるのではなく、複数の単位画像を情報に対応させている。仮に1つの単位画像を情報に対応させたとすると、単位画像が欠損したり、ノイズが加わったりした場合に、誤った情報を表現してしまうという欠点がある。これに対して、例えば2つの単位画像を情報に対応させたとすると、単位画像が1つであったり3つであったりした場合に、容易に誤りであることが分かる。更に、1つの単位画像で1ビット、又は、高々2ビットを表現する方法では、情報を表現するパターンと視覚的に似たパターンで、情報パターンの読出しを制御する同期パターンを表現することができない。このようなことから、本実施の形態では、上記のような符号化方式を採用している。以下では、このような符号化方式をmCn方式と称する。
ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像(以下、単に「ドット」という)を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
The best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described in detail below with reference to the accompanying drawings.
First, a code pattern constituting a code image to be read will be described.
In the present embodiment, mCn (= m) by a pattern image (hereinafter referred to as “unit code pattern”) in which unit images are arranged at n (1 ≦ n <m) locations selected from m (m ≧ 3) locations. ! / {(Mn)! × n!}) Expresses the information as shown. That is, instead of associating one unit image with information, a plurality of unit images are associated with information. Assuming that one unit image is associated with information, there is a drawback in that erroneous information is expressed when the unit image is lost or noise is added. On the other hand, for example, if two unit images are associated with information, it can be easily understood that there is an error when the number of unit images is one or three. Furthermore, in the method of expressing 1 bit or at most 2 bits in one unit image, it is not possible to express a synchronous pattern that controls reading of the information pattern with a pattern visually similar to the pattern that represents information. . For this reason, the present embodiment employs the above encoding method. Hereinafter, such an encoding method is referred to as an mCn method.
Here, a unit image having any shape may be used. In the present embodiment, a dot image (hereinafter simply referred to as “dot”) is used as an example of a unit image, but an image having another shape such as a hatched pattern may be used.
図1に、mCn方式における単位符号パターンの例を示す。
図では、黒色の領域と斜線の領域をドット配置可能な領域とし、その間にある白色の領域をドット配置不可能な領域としている。そして、ドット配置可能な領域のうち、黒色の領域にドットが配置され、斜線の領域にはドットが配置されていないことを示している。即ち、図1は、縦3ドット、横3ドットの合計9ドットを配置可能な領域を設けた例を示しており、(a)は、ドット配置可能な領域に2ドットを配置する9C2方式における単位符号パターンであり、(b)は、ドット配置可能な領域に3ドットを配置する9C3方式における単位符号パターンである。
FIG. 1 shows an example of a unit code pattern in the mCn system.
In the figure, a black area and a hatched area are areas where dots can be arranged, and a white area between them is an area where dots cannot be arranged. Of the areas where dots can be arranged, dots are arranged in black areas and dots are not arranged in hatched areas. That is, FIG. 1 shows an example in which an area where a total of 9 dots of 3 dots in the vertical direction and 3 dots in the horizontal direction can be arranged is provided. FIG. FIG. 6B shows a unit code pattern, and FIG. 5B shows a unit code pattern in the 9C3 method in which 3 dots are arranged in an area where dots can be arranged.
ところで、図1で配置されるドット(黒色の領域)は、あくまで情報表現のためのドットであり、画像を構成する最小単位であるドット(図1の最小の四角)とは必ずしも一致しない。本実施の形態において、「ドット」というときは前者のドットを指し、後者のドットは「ピクセル」と呼ぶことにすれば、ドットは、600dpiにおける2ピクセル×2ピクセルの大きさを有することになる。600dpiにおける1ピクセルの大きさは0.0423mmなので、ドットの一辺は、84.6μm(=0.0423mm×2)である。ドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、50μmより大きく100μmより小さい上記の値を採用している。但し、上記の値84.6μmは、あくまで計算上の数値であり、実際に印刷されたトナー像では100μm程度になる。 By the way, the dots (black areas) arranged in FIG. 1 are only for information representation, and do not necessarily match the dots (minimum squares in FIG. 1) which are the minimum units constituting the image. In this embodiment, when “dot” refers to the former dot and the latter dot is referred to as “pixel”, the dot has a size of 2 pixels × 2 pixels at 600 dpi. . Since the size of one pixel at 600 dpi is 0.0423 mm, one side of the dot is 84.6 μm (= 0.0423 mm × 2). The larger the dot, the more likely it will be noticeable, so it is preferable to make it as small as possible. However, if it is too small, printing with a printer becomes impossible. Therefore, the above value is adopted as the dot size, which is larger than 50 μm and smaller than 100 μm. However, the above value 84.6 μm is a numerical value to the last, and is about 100 μm in the actually printed toner image.
また、図2に、単位符号パターンの他の例を示す。尚、この図では、ドット間の空白を省略している。
図2(a)は、図1(a)に示した9C2方式における全ての単位符号パターンを示している。9C2方式では、これらの単位符号パターンを用いて、36(=9C2)通りの情報を表現する。また、図2(b)は、図1(b)に示した9C3方式における全ての単位符号パターンを示している。9C3方式では、これらの単位符号パターンを用いて、84(=9C3)通りの情報を表現する。
FIG. 2 shows another example of the unit code pattern. In this figure, spaces between dots are omitted.
FIG. 2A shows all unit code patterns in the 9C2 system shown in FIG. In the 9C2 system, 36 (= 9 C 2 ) types of information are expressed using these unit code patterns. FIG. 2B shows all unit code patterns in the 9C3 system shown in FIG. In the 9C3 system, 84 (= 9 C 3 ) types of information are expressed using these unit code patterns.
尚、単位符号パターンは、m=9の場合に限定されるものではなく、mの値として、例えば、4、16等の値を採用してもよい。また、nの値も1≦n<mを満たしていれば如何なる値を採用してもよい。
また、mの値としては、平方数(整数の2乗)だけでなく、異なる2つの整数の積を採用してもよい。つまり、ドットを配置可能な領域は、3ドット×3ドットを配置する場合のような正方形の領域に限らず、3ドット×4ドットを配置する場合のような長方形の領域であってもよい。尚、本明細書において、長方形とは、隣り合う2辺の長さが等しくない矩形のことをいうものとする。
The unit code pattern is not limited to m = 9. For example, a value such as 4, 16 may be adopted as the value of m. Also, any value may be adopted as long as n satisfies 1 ≦ n <m.
Further, as the value of m, not only a square number (the square of an integer) but also a product of two different integers may be adopted. That is, the area in which dots can be arranged is not limited to a square area as in the case of arranging 3 dots × 3 dots, but may be a rectangular area as in the case of arranging 3 dots × 4 dots. In this specification, the rectangle means a rectangle in which the lengths of two adjacent sides are not equal.
ところで、mCn方式における全ての単位符号パターンには、各単位符号パターンを識別するための番号であるパターン値が付されている。
図3に、9C2方式における単位符号パターンとパターン値との対応を示す。9C2方式における単位符号パターンは36個であるので、パターン値としては0〜35が用いられる。但し、図3に示した対応はあくまで一例であり、どの単位符号パターンにどのパターン値を割り当ててもよい。尚、9C3方式については、図示しないが、各単位符号パターンに0〜83のパターン値が付されることになる。
By the way, all unit code patterns in the mCn system are assigned pattern values that are numbers for identifying each unit code pattern.
FIG. 3 shows the correspondence between unit code patterns and pattern values in the 9C2 system. Since there are 36 unit code patterns in the 9C2 system, 0 to 35 are used as pattern values. However, the correspondence shown in FIG. 3 is merely an example, and any pattern value may be assigned to any unit code pattern. In addition, although not shown in the figure for the 9C3 system, each unit code pattern is assigned a pattern value of 0 to 83.
このように、m箇所からn箇所を選択することでmCn種類の単位符号パターンを用意しているが、本実施の形態では、これらの単位符号パターンのうち、特定のパターンを情報パターンとして利用し、残りを同期パターンとして利用する。ここで、情報パターンとは、媒体に埋め込む情報を表現するパターンである。また、同期パターンとは、媒体に印刷された情報パターンを取り出すために用いられるパターンである。例えば、情報パターンの位置を特定したり、画像の回転を検出したりするために用いられる。尚、媒体としては、画像を印刷することが可能であれば、如何なるものを用いてもよい。紙が代表例なので、以下では媒体を紙として説明するが、金属、プラスチック、繊維等であってもよい。 In this way, mCn types of unit code patterns are prepared by selecting n locations from m locations. In this embodiment, a specific pattern is used as an information pattern among these unit code patterns. The rest is used as a synchronization pattern. Here, the information pattern is a pattern representing information to be embedded in the medium. The synchronization pattern is a pattern used for taking out an information pattern printed on a medium. For example, it is used for specifying the position of the information pattern or detecting the rotation of the image. Any medium may be used as long as an image can be printed. Since paper is a representative example, the medium will be described as paper below, but metal, plastic, fiber, or the like may be used.
ここで、同期パターンについて説明する。
図4は、9C2方式における同期パターンの例である。このようにmCn方式におけるmが平方数である場合は、画像の回転の検出のために4種類の単位符号パターンを同期パターンとして用意する必要がある。ここでは、パターン値32の単位符号パターンを正立した同期パターンとしている。また、パターン値33の単位符号パターンを右に90度回転した同期パターン、パターン値34の単位符号パターンを右に180度回転した同期パターン、パターン値35の単位符号パターンを右に270度回転した同期パターンとしている。この場合、36種類の単位符号パターンからこの4種類の同期パターンを除いた残りを情報パターンとし、5ビットの情報を表現するとよい。但し、36種類の単位符号パターンの情報パターンと同期パターンへの振り分け方は、これには限らない。例えば、4種類で1組を構成する同期パターンの組を5つ用意し、残りの16種類の情報パターンで4ビットの情報を表現してもよい。
Here, the synchronization pattern will be described.
FIG. 4 is an example of a synchronization pattern in the 9C2 system. Thus, when m in the mCn system is a square number, it is necessary to prepare four types of unit code patterns as synchronization patterns in order to detect image rotation. Here, the unit code pattern of the
尚、図示しないが、mCnにおけるmが異なる2つの整数の積である場合は、画像の回転の検出のために2種類の単位符号パターンを同期パターンとして用意すればよい。例えば、縦3ドット×横4ドットを配置可能な領域が検出されるべきなのに、縦4ドット×横3ドットを配置可能な領域が検出された場合は、その時点で画像が90度又は270度回転していることが分かるからである。 Although not shown, when m in mCn is a product of two different integers, two types of unit code patterns may be prepared as synchronization patterns in order to detect image rotation. For example, when an area in which 3 dots in the vertical direction and 4 dots in the horizontal direction should be detected but an area in which the 4 dots in the vertical direction and 3 dots in the horizontal direction can be arranged is detected, the image is 90 degrees or 270 degrees at that time. It is because it turns out that it is rotating.
次に、このような符号パターンを配置して識別情報と座標情報を表現する方法を述べる。
まず、上述した単位符号パターンから構成される符号ブロックについて説明する。
図5は、符号ブロックの一例を示したものである。図では、9C2方式における単位符号パターンを使用していることも同時に示している。即ち、36種類の単位符号パターンを、例えば、同期パターンとして使用する4パターンと、情報パターンとして使用する32パターンとに分け、各パターンをレイアウトに従って配置する。
図では、レイアウトとして、3ドット×3ドットを配置可能な領域(以下、「ブロック」という)を5個×5個の25個並べたものを採用している。そして、この25個のブロックのうち、左上の1ブロックに同期パターンを配置している。また、同期パターンの右の4ブロックに紙面上のX方向の座標を特定するX座標情報を表す情報パターンを配置し、同期パターンの下の4ブロックに紙面上のY方向の座標を特定するY座標情報を表す情報パターンを配置している。更に、これらの座標情報を表す情報パターンで囲まれた16ブロックに、紙面又は紙面に印刷される文書の識別情報を表す情報パターンを配置している。
尚、9C2方式における単位符号パターンはあくまで例であり、図の左下に示すように、9C3方式における単位符号パターンを使用してもよい。
Next, a method for expressing identification information and coordinate information by arranging such code patterns will be described.
First, a code block composed of the above-described unit code pattern will be described.
FIG. 5 shows an example of a code block. In the figure, it is also shown that a unit code pattern in the 9C2 system is used. That is, 36 types of unit code patterns are divided into, for example, 4 patterns used as synchronization patterns and 32 patterns used as information patterns, and each pattern is arranged according to a layout.
In the figure, a layout in which 3 areas × 3 dots area (hereinafter referred to as “block”) 25 × 5 × 5 are arranged is used. Of the 25 blocks, a synchronization pattern is arranged in the upper left block. In addition, an information pattern representing X coordinate information that specifies coordinates in the X direction on the paper surface is arranged in the four blocks to the right of the synchronization pattern, and the Y direction coordinates on the paper surface are specified in the four blocks below the synchronization pattern. An information pattern representing coordinate information is arranged. Further, an information pattern representing the identification information of the document printed on the paper surface or the paper surface is arranged in 16 blocks surrounded by the information pattern representing the coordinate information.
The unit code pattern in the 9C2 system is merely an example, and the unit code pattern in the 9C3 system may be used as shown in the lower left of the figure.
次いで、本実施の形態における識別情報と座標情報を表現するためのレイアウトについて説明する。
図6に、このようなレイアウトの一部を示す。
このレイアウトでは、図5に示した符号ブロックを基本単位とし、この符号ブロックを紙面全体に周期的に配置する。図では、同期パターンを「S」で表している。また、座標情報は、紙面の縦及び横に渡ってM系列で表現する。図では、X座標を表すパターンを「X1」、「X2」、…で表し、Y座標を表すパターンを「Y1」、「Y2」、…で表している。更に、識別情報の符号化には、幾つかの方法の利用が考えられるが、本実施の形態では、RS符号化が適している。RS符号は多値の符号法であり、この場合、ブロックの表現をRS符号の多値に対応させるとよいからである。図では、識別情報を表すパターンを「IXY」(X=1〜4,Y=1〜4)で表している。
Next, a layout for expressing identification information and coordinate information in this embodiment will be described.
FIG. 6 shows a part of such a layout.
In this layout, the code block shown in FIG. 5 is used as a basic unit, and this code block is periodically arranged on the entire sheet. In the figure, the synchronization pattern is represented by “S”. Also, the coordinate information is expressed in M series over the vertical and horizontal sides of the page. In the figure, patterns representing the X coordinate are represented by “X1”, “X2”,..., And patterns representing the Y coordinate are represented by “Y1”, “Y2”,. Furthermore, although some methods can be used for encoding the identification information, RS encoding is suitable in this embodiment. This is because the RS code is a multi-level coding method, and in this case, the block representation should correspond to the multi-value of the RS code. In the figure, the pattern representing the identification information is represented by “IXY” (X = 1 to 4, Y = 1 to 4).
ここで、座標情報を表現するのに用いるM系列について説明する。
M系列とは、その部分列が、他の部分列と一致することがない系列である。例えば、11次のM系列は、2047ビットのビット列である。そして、この2047ビットのビット列の中から取り出された11ビット以上の部分列と同じ並びは、この2047ビットのビット列の中に自身以外には存在しない。本実施の形態では、16個の単位符号パターンを4ビットに対応付ける。即ち、2047ビットのビット列を4ビットごとに10進数で表し、図3の対応に従って単位符号パターンを決定し、座標符号として紙面の横と縦に渡って表現する。従って、復号の際は、3つの連続する単位符号パターンを特定することにより、ビット列上の位置が特定されることになる。
Here, the M series used for expressing the coordinate information will be described.
The M sequence is a sequence whose partial sequence does not match other partial sequences. For example, the eleventh order M-sequence is a bit string of 2047 bits. The same sequence as the partial sequence of 11 bits or more extracted from the 2047-bit bit string does not exist in the 2047-bit bit string other than itself. In this embodiment, 16 unit code patterns are associated with 4 bits. That is, a bit string of 2047 bits is expressed in decimal notation for every 4 bits, a unit code pattern is determined according to the correspondence of FIG. 3, and is expressed as a coordinate code across the paper in the horizontal and vertical directions. Therefore, at the time of decoding, the position on the bit string is specified by specifying three consecutive unit code patterns.
図7に、M系列を用いた座標情報の符号化の例を示す。
(a)は、11次のM系列の例として、「0111000101011010000110010…」というビット列を示している。本実施の形態では、これを4ビットずつに区切り、1つ目の部分列「0111」をパターン値7の単位符号パターンとして、2つ目の部分列「0001」をパターン値1の単位符号パターンとして、3つ目の部分列「0101」をパターン値5の単位符号パターンとして、4つ目の部分列「1010」をパターン値10の単位符号パターンとして、それぞれ紙面上に配置する。
FIG. 7 shows an example of encoding coordinate information using an M sequence.
(A) shows a bit string “0111000101011010000110010...” As an example of the 11th order M-sequence. In the present embodiment, this is divided into 4 bits, and the first partial sequence “0111” is a unit code pattern of
また、このように4ビットずつ区切って単位符号パターンに割り当てると、(b)に示すように、4周期で全てのパターン列を表現できる。即ち、11次のM系列は、2047ビットなので、この系列を4ビットごとに切り出し、単位符号パターンで表現していくと、最後に3ビットあまることになる。この3ビットに、M系列の最初の1ビットを加えて4ビットとし単位符号パターンで表す。更に、M系列の2ビット目から4ビットごとに切り出し単位符号パターンで表す。すると、次の周期は、M系列の3ビット目から始まり、その次の周期は、M系列の4ビット目から始まる。更に、5周期目は、5ビット目からとなるが、これは最初の周期と一致する。従って、M系列の4周期を4ビットごとに切り出していくと、2047個の単位符号パターンで全てを尽くすことができる。M系列は11次であるので、3つの連続する単位符号パターンは、他のどの位置の連続する符号パターンとも一致することはない。そこで、読出し時には3つの単位符号パターンを読み出せば、復号が可能である。但し、本実施の形態では、誤りの発生を考慮し、4つの単位符号パターンで座標情報を表現している。
尚、4周期のM系列は、2047個のブロックに分割して格納される。1つのブロックの一辺の長さは、先に述べた印刷条件、即ち、ドットが600dpiにおける2ピクセル×2ピクセルの大きさである場合、0.508mmである。図6のレイアウトを採用する場合、連続する2047個のブロックの4ブロックごとに、同期ブロックが挿入される。そこで、5/4倍して、全体で約2558ブロックなので、長さは1299.5mmである。つまり、1299.5mmの長さが符号化されることになる
In addition, if the unit code pattern is divided by 4 bits and assigned to the unit code pattern in this way, as shown in (b), all pattern strings can be expressed in 4 cycles. That is, since the 11th order M-sequence is 2047 bits, if this sequence is cut out every 4 bits and expressed by a unit code pattern, 3 bits are added at the end. The first 1 bit of the M sequence is added to these 3 bits to form 4 bits, which are represented by a unit code pattern. Further, the unit code pattern is cut out every 4 bits from the second bit of the M sequence. Then, the next cycle starts from the third bit of the M sequence, and the next cycle starts from the fourth bit of the M sequence. Furthermore, the fifth cycle starts from the fifth bit, which coincides with the first cycle. Therefore, if four cycles of the M sequence are cut out every 4 bits, it is possible to use all 2047 unit code patterns. Since the M sequence is 11th order, the three consecutive unit code patterns do not match the continuous code pattern at any other position. Therefore, decoding can be performed by reading three unit code patterns at the time of reading. However, in the present embodiment, coordinate information is expressed by four unit code patterns in consideration of the occurrence of errors.
Note that the M sequence of four periods is divided and stored in 2047 blocks. The length of one side of one block is 0.508 mm when the printing conditions described above, i.e., the dot has a size of 2 pixels × 2 pixels at 600 dpi. When the layout of FIG. 6 is adopted, a synchronization block is inserted every 4 blocks of 2047 consecutive blocks. Therefore, the length is 1299.5 mm because the total is about 2558 blocks multiplied by 5/4. That is, a length of 1299.5 mm will be encoded.
次いで、このような画像を生成する画像生成装置10について説明する。
図8は、画像生成装置10の構成例を示したブロック図である。
図示するように、画像生成装置10は、情報取得部11と、識別符号生成部12と、X座標符号生成部13と、Y座標符号生成部14と、符号配列生成部15と、パターン画像記憶部16と、符号画像生成部17とを備える。
Next, the
FIG. 8 is a block diagram illustrating a configuration example of the
As shown in the figure, the
情報取得部11は、紙面又は紙面に印刷される文書の識別情報、及び、紙面上での座標情報を取得する。そして、前者を識別符号生成部12に出力し、後者のうち、X座標情報をX座標符号生成部13に、Y座標情報をY座標符号生成部14に出力する。
The
識別符号生成部12は、情報取得部11から取得した識別情報を符号化し、符号化された識別情報である識別符号を符号配列生成部15に出力する。この識別情報の符号化は、ブロック分割、RS符号化の処理を含む。
このうち、ブロック分割は、識別情報を構成するビット列を、RS符号化を行うために複数のブロックに分割する処理である。例えば、9C2方式で5ビットの情報を表現可能な情報パターンを用いる場合、60ビットの識別情報は、ブロック長が5ビットの12個のブロックに分割される。
また、RS符号化は、分割されたブロックに対してRS符号化を行い、誤り訂正のための冗長ブロックを付加する処理である。先の例において2ブロックの誤りを訂正可能なRS符号を採用したとすると、符号長は16ブロックとなる。
The identification
Among these, the block division is a process of dividing the bit string constituting the identification information into a plurality of blocks in order to perform RS encoding. For example, when an information pattern capable of expressing 5-bit information in the 9C2 system is used, the 60-bit identification information is divided into 12 blocks having a block length of 5 bits.
RS encoding is a process of performing RS encoding on the divided blocks and adding redundant blocks for error correction. If an RS code capable of correcting an error of 2 blocks is adopted in the previous example, the code length is 16 blocks.
X座標符号生成部13は、X座標情報を符号化する。Y座標符号生成部14は、Y座標情報を符号化する。そして、これらは、符号化された座標情報である座標符号を符号配列生成部15に出力する。この座標情報の符号化は、M系列符号化、ブロック分割の処理を含む。
このうち、M系列符号化は、M系列を使用して座標情報を符号化する処理である。例えば、符号化したい座標情報の長さから必要なM系列の次数を求め、M系列を動的に生成することで座標符号を生成する。但し、予め符号化したい座標情報の長さが分かっている場合には、M系列を画像生成装置10のメモリ等に格納しておき、画像生成時にそれを読み出す構成としてもよい。
また、ブロック分割は、M系列を複数のブロックに分割する処理である。例えば、情報パターンとして16種類の単位符号パターンを選択したとすると、符号ブロックにおける各ブロックには4ビットの情報が格納される。従って、図5のようなレイアウトを有する符号ブロックに対して、X座標情報は、16ビット分格納される。そして、図7を参照して述べたような方法で、座標情報が単位符号パターンによって表される。
The X coordinate
Among these, the M sequence encoding is a process of encoding coordinate information using the M sequence. For example, a necessary M-sequence order is obtained from the length of coordinate information to be encoded, and a coordinate code is generated by dynamically generating the M-sequence. However, when the length of the coordinate information to be encoded is known in advance, the M series may be stored in the memory or the like of the
Block division is processing for dividing an M sequence into a plurality of blocks. For example, if 16 types of unit code patterns are selected as the information pattern, 4-bit information is stored in each block in the code block. Therefore, 16 bits of X coordinate information are stored for a code block having a layout as shown in FIG. Then, the coordinate information is represented by the unit code pattern by the method described with reference to FIG.
符号配列生成部15は、識別符号生成部12にて生成された識別符号と、X座標符号生成部13及びY座標符号生成部14にて生成された座標符号と、識別符号及び座標符号の読出しを制御する同期符号とを2次元平面に配置して2次元の符号配列を生成する。ここで、同期符号とは、同期パターンに対応する符号である。
パターン画像記憶部16は、例えば図2に示したmCn方式における単位符号パターンを記憶する。ここで、単位符号パターンには、上述したようにパターン値が付されており、各単位符号パターンはパターン値をキーとして読み出し可能になっている。尚、本実施の形態において、このパターン画像記憶部16は、予め定められたm及びnに対応するmCn方式における単位符号パターンを少なくとも記憶していればよい。
符号画像生成部17は、符号配列生成部15が生成した2次元の符号配列を参照し、各符号値に対応した単位符号パターンを選択して符号画像を生成する。
The code
The pattern
The code
そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合には、紙面に対するペンデバイスによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。 The code image is transferred to an image forming unit (not shown), and the image forming unit forms a code image on the sheet. At this time, the image forming unit may form a superimposed image in which the document image of the electronic document and the code image are superimposed on the paper surface. In addition, when a superimposed image is formed in this way, the correspondence between the position on the electronic document and the position on the paper is managed so that the writing data by the pen device on the paper is reflected at an appropriate position on the electronic document. It is desirable to do.
また、画像形成部は、符号画像を、例えば電子写真方式を用いて、Kトナー(カーボンを含む赤外光吸収トナー)、又は、特殊トナーにより形成する。
ここで、特殊トナーとしては、可視光領域(400nm〜700nm)における最大吸収率が7%以下であり、近赤外領域(800nm〜1000nm)における吸収率が30%以上の不可視トナーが例示される。ここで、「可視」及び「不可視」は、目視により認識できるかどうかとは関係しない。印刷された媒体に形成された画像が可視光領域における特定の波長の吸収に起因する発色性の有無により認識できるかどうかで「可視」と「不可視」とを区別している。また、可視光領域における特定の波長の吸収に起因する発色性が若干あるが、人間の目で認識し難いものも「不可視」に含める。
The image forming unit forms the code image with K toner (infrared light absorbing toner containing carbon) or special toner, for example, using an electrophotographic system.
Here, as the special toner, an invisible toner having a maximum absorption rate of 7% or less in the visible light region (400 nm to 700 nm) and an absorption rate of 30% or more in the near infrared region (800 nm to 1000 nm) is exemplified. . Here, “visible” and “invisible” are not related to whether they can be recognized visually. “Visible” and “invisible” are distinguished depending on whether or not an image formed on a printed medium can be recognized by the presence or absence of color development due to absorption of a specific wavelength in the visible light region. Further, “invisible” includes those that have some color developability due to absorption of a specific wavelength in the visible light region but are difficult to recognize with human eyes.
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像生成装置10のCPU91(図26参照)が、情報取得部11、識別符号生成部12、X座標符号生成部13、Y座標符号生成部14、符号配列生成部15、符号画像生成部17を実現するプログラムを、例えば、磁気ディスク装置93(図26参照)からメインメモリ92(図26参照)に読み込んで実行することにより、実現される。また、パターン画像記憶部16は、例えば、磁気ディスク装置93(図26参照)を用いて実現するとよい。更に、磁気ディスク装置93(図26参照)に記憶されるプログラムやデータは、CD等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。
These functions are realized by cooperation between software and hardware resources. Specifically, the CPU 91 (see FIG. 26) of the
以上説明した単位符号パターンを印刷した画像上の所定位置をペンデバイスで指示すると、ペンデバイスに設けられた撮像素子が、画像の一部を読み取る。そして、この画像からドットパターンが読み取られ、復号処理が行われる。ところが、この場合において、復号された座標情報は、撮像素子が読み取った画像の位置を表しており、厳密には、ペンデバイスで指示した位置を表していない。
以下、このズレの発生について具体的に説明する。
図9は、この説明のためのペンデバイスの概略図である。
図示するように、ペンの中心を通るペン中心線が紙面と交差する点(ペン先中心)と、撮像素子の中心を通る撮像素子中心線が紙面と交差する点(撮像領域中心)との間には、ペンデバイスに固有のズレIPがある。
When the pen device indicates a predetermined position on the image on which the unit code pattern described above is printed, an image sensor provided in the pen device reads a part of the image. Then, a dot pattern is read from this image and a decoding process is performed. However, in this case, the decoded coordinate information represents the position of the image read by the image sensor, and does not strictly represent the position designated by the pen device.
The occurrence of this deviation will be specifically described below.
FIG. 9 is a schematic view of a pen device for this explanation.
As shown in the figure, between the point where the pen center line passing through the center of the pen intersects the paper surface (center of the pen tip) and the point where the image sensor center line passing through the center of the image sensor intersects the paper surface (center of the imaging area) Has a deviation IP unique to the pen device.
また、復号された座標情報とペンデバイスで指示した位置とのズレには、この固定のズレだけでなく、画像処理の結果に応じて動的に決定されるズレも含まれるので、このことを紙面上の座標を用いて説明する。
図10は、ペンデバイスの撮像素子が撮像する領域(以下、「撮像領域」という)及びその領域の中心点(以下、「撮像領域中心」という)と、その中でペンデバイスが復号のために読み込む領域(以下、「読み込み領域」という)とその領域の中心点(以下、「読み込み領域中心」という)と、ペンデバイスのペン先が指示する点(以下、「ペン先中心」という)との関係を示した図である。
The deviation between the decoded coordinate information and the position designated by the pen device includes not only this fixed deviation but also a deviation that is dynamically determined according to the result of the image processing. This will be described using the coordinates on the paper.
FIG. 10 shows an area (hereinafter referred to as “imaging area”) captured by the imaging device of the pen device, a center point of the area (hereinafter referred to as “imaging area center”), and the pen device for decoding in The area to be read (hereinafter referred to as “read area”), the center point of the area (hereinafter referred to as “read area center”), and the point indicated by the pen tip of the pen device (hereinafter referred to as “pen point center”) It is the figure which showed the relationship.
ここでは、(a)に示すように、撮像領域中心に対するペン先中心の相対座標を(IPX,IPY)とする。この座標は、ペンデバイスの傾きによって変化するが、標準的な傾きを定め、ペンデバイスがこの標準的な傾きで置かれたときの値を設定すればよい。尚、本明細書では、撮像領域の横枠に平行にX軸をとり、右方向をXの正方向とし、撮像領域の縦枠に平行にY軸をとり、下方向をYの正方向として、撮像画像上の座標を表すものとする。
また、紙の回転によって、撮像領域の垂直水平方向が、ドット列の方向と一致しているとは限らない。そこで、ドット列の方向から撮像領域の垂直方向への角度をIRDとする。ドット列の方向は、2つあるが、撮像素子の垂直方向と最も近い方向とする。このとき、IRDは、−90°から90°までの角度をとる。尚、本明細書では、角度は右回りを正方向とする。
Here, as shown in (a), the relative coordinates of the center of the pen tip with respect to the center of the imaging region are (IPX, IPY). The coordinates vary depending on the tilt of the pen device, but a standard tilt is determined, and a value when the pen device is placed at the standard tilt may be set. In this specification, the X axis is parallel to the horizontal frame of the imaging area, the right direction is the positive X direction, the Y axis is parallel to the vertical frame of the imaging area, and the downward direction is the positive Y direction. The coordinates on the captured image are represented.
Further, the vertical and horizontal direction of the imaging region does not always coincide with the direction of the dot row due to the rotation of the paper. Therefore, an angle from the direction of the dot row to the vertical direction of the imaging region is defined as IRD. Although there are two dot row directions, the direction is closest to the vertical direction of the image sensor. At this time, the IRD takes an angle from −90 ° to 90 °. In the present specification, the angle is clockwise and the positive direction.
さて、ペンデバイスは、撮像領域から、復号のために必要な17ドット×17ドットの領域を読み込む。これが読み込み領域であるが、復号するのに適切な読み込み領域は必ずしも撮像領域の中心付近に存在するとは限らない。照明等の影響により、適切な読み込み領域が中心部からずれた位置にある場合もある。
(b)に、(a)のうち撮像領域中心と読み込み領域中心を含む部分の拡大図を示す。ここでは、読み込み領域中心に対する撮像領域中心の相対座標を(IRX,IRY)とする。
Now, the pen device reads an area of 17 dots × 17 dots necessary for decoding from the imaging area. This is a reading area, but a reading area appropriate for decoding does not necessarily exist near the center of the imaging area. There may be a case where an appropriate reading area is shifted from the center due to the influence of illumination or the like.
FIG. 4B is an enlarged view of a part including the center of the imaging region and the center of the reading region in FIG. Here, the relative coordinates of the center of the imaging region with respect to the center of the reading region are (IRX, IRY).
次に、紙面に形成された符号画像を読み取って処理する画像処理装置20について説明する。
図11は、画像処理装置20の構成例を示したブロック図である。
図示するように、画像処理装置20は、画像読取部21と、ドット配列生成部22と、ブロック検出部23と、同期符号検出部24と、回転判定部25と、符号配列回転部26とを備える。また、識別符号検出部30と、識別符号復元部31と、識別符号復号部32と、識別符号誤り検出部33と、識別符号誤り訂正部34とを備える。更に、X座標符号検出部40と、X座標符号復号部42と、X座標符号誤り検出部43と、X座標符号誤り訂正部44と、Y座標符号検出部45と、Y座標符号復号部47と、Y座標符号誤り検出部48と、Y座標符号誤り訂正部49と、座標補正部50と、情報出力部55とを備える。
Next, the
FIG. 11 is a block diagram illustrating a configuration example of the
As illustrated, the
画像読取部21は、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を用いて、紙面に印刷された符号画像を読み取る。本実施の形態では、第1の部分画像を読み取る読取手段の一例として、画像読取部21を備えている。
The
ドット配列生成部22は、読み取った符号画像からドットを検出し、ドットの位置を参照して、ドット配列を生成する。ここで、ドットの検出は、次のように行う。即ち、まず、読み取った符号画像の中から、ドットを検出し易い領域を特定する。そして、その領域内で、2値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、2値化された個々の画像位置からドットの位置を検出する。また、ドット配列の生成は、2次元の配列上で、例えば、ドットがある位置を「1」、ドットがない位置を「0」というように、画像として検出したドットをデジタルデータに置き換えることにより行う。本実施の形態では、抽出手段の第3の部分画像を抽出する機能の一例として、ドット配列生成部22を備えている。
The dot
ブロック検出部23は、ドット配列上で、符号ブロック内の単位符号パターンに対応するブロックを検出する。即ち、単位符号パターンと同じ大きさをもつ矩形のブロック区切りをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいブロック区切り位置とし、各ブロック内のパターン値を格納した符号配列を生成する。本実施の形態では、抽出手段の第2の部分画像を抽出する機能の一例として、ブロック検出部23を備えている。
The
同期符号検出部24は、ドット配列から検出された各単位符号パターンの種類を参照して、同期符号を検出する。
回転判定部25は、検出した同期符号に基づいて、画像の回転を判定する。例えば、正方形の単位符号パターンを用いた場合、90度単位で回転している可能性がある。そこで、検出した同期符号が4種類の同期パターンのいずれに対応しているかによって、その向きを検出する。また、長方形の単位符号パターンを用いた場合、180度単位で回転している可能性がある。そこで、検出された同期符号が2種類の同期パターンのいずれに対応しているかによって、その向きを検出する。
符号配列回転部26は、回転判定部25で検出された回転角度だけ符号配列を回転させて、符号配列を正しい向きに設定する。
The
The
The code
識別符号検出部30は、角度が補正された符号配列から、同期符号の位置を基準にして識別符号を検出する。本実施の形態では、ビット列を検出する検出手段、ビット列を決定する決定手段の一例として、識別符号検出部30を設けている。
識別符号復元部31は、検出された識別符号を正しい符号順に並べ替える。
識別符号復号部32は、図8を参照して説明したRS符号の符号化処理で用いたパラメータ(ブロック数等)と同じパラメータを用いて識別符号を復号し、識別情報を出力する。
識別符号誤り検出部33は、復号された識別符号の誤りを検出し、識別符号誤り訂正部34は、検出した誤りが訂正可能な誤りである場合に、その誤りを訂正する。
The identification
The identification
The identification
The identification code
X座標符号検出部40は、角度が補正された符号配列から、同期符号の位置を基準にしてX座標符号を検出する。
X座標符号復号部42は、検出されたX座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を同期符号によるオフセットで補正した値をX座標情報として出力する。
X座標符号誤り検出部43は、復号されたX座標符号の誤りを検出し、X座標符号誤り訂正部44は、検出した誤りが訂正可能な誤りである場合に、その誤りを訂正する。
The X coordinate
The X coordinate
The X coordinate code
Y座標符号検出部45は、角度が補正された符号配列から、同期符号の位置を基準にしてY座標符号を検出する。
Y座標符号復号部47は、検出されたY座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を同期符号によるオフセットで補正した値をY座標情報として出力する。
Y座標符号誤り検出部48は、復号されたY座標符号の誤りを検出し、Y座標符号誤り訂正部49は、検出した誤りが訂正可能な誤りである場合に、その誤りを訂正する。
The Y coordinate
The Y coordinate
The Y coordinate code
尚、本実施の形態では、第2の部分画像の位置を検出する検出手段の一例として、X座標符号検出部40、X座標符号復号部42、X座標符号誤り検出部43、X座標符号誤り訂正部44、Y座標符号検出部45、Y座標符号復号部47、Y座標符号誤り検出部48、Y座標符号誤り訂正部49を備えている。
In the present embodiment, as an example of detection means for detecting the position of the second partial image, an X coordinate
座標補正部50は、X座標符号復号部42から出力されたX座標情報とY座標符号復号部47から出力されたY座標情報とからなる座標情報を補正して、ペン先中心の座標情報を取得する。ここで、補正は、予め与えられたペン先中心の撮像領域中心に対する相対座標や、画像読取部21から与えられた撮像領域中心の読み込み領域中心に対する相対座標等を用いて行う。本実施の形態では、第2の部分画像の位置を補正するために用いる情報を取得する取得手段の一例として、また、第2の部分画像の位置を補正する補正手段の一例として、座標補正部50を設けている。
情報出力部55は、識別符号復号部32、座標補正部50からそれぞれ取得した識別情報、ペン先中心のX座標情報及びY座標情報を出力する。
The coordinate
The
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置20のCPU91(図26参照)が、ドット配列生成部22、ブロック検出部23、同期符号検出部24、回転判定部25、符号配列回転部26、識別符号検出部30、識別符号復元部31、識別符号復号部32、識別符号誤り検出部33、識別符号誤り訂正部34、X座標符号検出部40、X座標符号復号部42、X座標符号誤り検出部43、X座標符号誤り訂正部44、Y座標符号検出部45、Y座標符号復号部47、Y座標符号誤り検出部48、Y座標符号誤り訂正部49、座標補正部50、情報出力部55を実現するプログラムを、例えば、磁気ディスク装置93(図26参照)からメインメモリ92(図26参照)に読み込んで実行することにより、実現される。また、磁気ディスク装置93(図26参照)に記憶されるプログラムやデータは、CD等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。
These functions are realized by cooperation between software and hardware resources. Specifically, the CPU 91 (see FIG. 26) of the
次いで、この画像処理装置20の動作の概略を説明する。
最初に、画像読取部21は、紙面に印刷された符号画像を撮像素子で読み取る。
そして、ドット配列生成部22が、読み取った符号画像からドットの検出に適した領域を切り出す。この領域の切り出しは、公知の画像処理によって行えばよいが、例えば、次のような方法が考えられる。即ち、まず、撮像領域を複数の小領域に分割する。この場合、各小領域は1つのドットより大きなものとなるようにする。次に、小領域ごとに、その中のドットの部分とドット以外の部分とのコントラストを評価する。そして、最も高コントラストであった小領域を中心として、次に高コントラストであった周囲の小領域を連結していく。これを繰り返し、17ドット×17ドット分の大きさをカバーできる程度の大きさになるまで領域を広げていき、最終的に得られた領域を撮像領域から切り出す。
Next, an outline of the operation of the
First, the
Then, the dot
このようにしてドットの検出に適した領域を切り出すと、ドット配列生成部22は、その領域の中から17ドット×17ドット分の大きさの読み込み領域を検出する。また、このドット画像におけるドット列の傾きも求める。
この場合、読み込み領域は、切り出した領域の中心部から選択すればよいが、その際もドットの部分とドット以外の部分とのコントラストの評価情報を用いるようにするとよい。
また、ドット列の傾きを求める方法にも種々のものがあるが、例えば、次のような方法を用いるとよい。即ち、まず、切り出した領域内のドットから、2つのドットからなる複数のドット対を検出する。この場合、ドット対としては、2つのドット間の距離が予め定められた距離に等しいものを選択する。本実施の形態では、図1のようなmCn方式の単位符号パターンで情報を表現するので、ここでの予め定められた距離としては、図1の左右又は上下の隣接する位置に2つのドットが配置された場合の距離を採用する。その後、この複数のドット対を、その傾きが直交する2つのグループに分け、それぞれの傾きを求めることでドット列の傾きを求める。
When an area suitable for dot detection is cut out in this way, the dot
In this case, the reading area may be selected from the central part of the cut-out area, but it is preferable to use the evaluation information of the contrast between the dot part and the part other than the dot.
There are various methods for obtaining the inclination of the dot row. For example, the following method may be used. That is, first, a plurality of dot pairs composed of two dots are detected from the dots in the cut-out area. In this case, the dot pair is selected such that the distance between the two dots is equal to a predetermined distance. In the present embodiment, since information is expressed by a unit code pattern of the mCn system as shown in FIG. 1, the predetermined distance here is two dots at adjacent positions on the left and right or top and bottom in FIG. Adopt the distance when placed. Thereafter, the plurality of dot pairs are divided into two groups whose inclinations are orthogonal to each other, and the inclinations of the dot rows are obtained by obtaining the respective inclinations.
ドット配列生成部22では、例えば、以上のような画像処理を行うことにより、撮像領域から読み込み領域を特定するが、その際、撮像領域中心の読み込み領域中心に対する相対位置(IRX,IRY)が分かるので、これを図示しないメモリに記憶しておく。また、上記で求めたドット列の傾きについても、IRDとして図示しないメモリに記憶しておく。但し、IRDは、ドット列の傾きから撮像領域の垂直方向への角度である。ドット列の方向は撮像素子の垂直方向と最も近いほうをとる。従って、IRDは、−90°から90°までの角度をとる。
In the dot
次に、ドット配列生成部22におけるドット配列の生成について説明する。
図12は、ドット配列生成部22によるドット画像からドット配列への変換を示した図である。図示するように、ドット配列生成部22は、読み込み領域内の画像を17×17のドットの配列へと変換する。この配列の各要素には、対応する位置にドットがあれば「1」が、対応する位置にドットがなければ「0」が格納される。
Next, generation of a dot array in the
FIG. 12 is a diagram illustrating conversion from a dot image to a dot array by the dot
また、ブロック検出部23は、読み込み領域に対応するドット配列上で、情報表現の最小単位であるブロックを検出する。
図13は、ブロック区切りを移動させてブロックを検出する際の処理を具体的に示した図である。ここでは、9C2方式で符号化が行われたことが分かっており、9C2方式で復号する場合について示している。
まず、ブロック検出部23は、ドット配列生成部22からドット配列を取得する。ここで取得するドット配列のサイズは予め設定されており、(復号に必要なブロック数×ブロックの一辺のドット数+ブロックの一辺のドット数−1)2である。ところが、このドット配列は、画像の任意に選択された領域に対応しているので、ブロック区切りの位置は分からない。そこで、初めに、ドット配列の端を基準にブロック分割を行う。この例では、m=9なので、3ドット×3ドットの大きさのブロックからなるブロック区切りを重ねる。次に、各ブロック内のドットを数える。この例では、n=2なので、各ブロック内に2ドットずつ存在する場合のブロック区切りの位置が正しい区切り位置であるが、この位置ではドット数がばらついており、正しくないことが分かる。そこで、ブロック区切りをずらしてブロック内のドット数を数える。即ち、右方向への開始位置、1ドット分移動した位置、2ドット分移動した位置について同様の動作を行う。また、これらの位置のそれぞれに対し、下方向への開始位置、1ドット移動した位置、2ドット移動した位置についても同様の動作を行う。その結果、右方向に1ドット移動し、下方向に2ドット移動した位置において、全てのブロック内のドット数が「2」となる。従って、この位置を正しい区切り位置とする。
Further, the
FIG. 13 is a diagram specifically showing processing when detecting a block by moving a block break. Here, it is known that encoding has been performed by the 9C2 system, and a case of decoding by the 9C2 system is shown.
First, the
図14に、ブロック検出部23により決定された正しい区切り位置について示す。
ここでは、太線で示した位置にブロック区切りを重ねた場合に、全てのブロックに2つの「1」が含まれるので、この位置が正しいブロック区切りの位置となる。また、ブロックの検出はどの位置から開始してもよいが、ここでも、ドット配列の開始位置(左上)を起点としており、この起点から正しいブロック区切りの位置までのX方向の移動量をMX、Y方向の移動量をMYとしている。図では、MX=0、MY=1である。以下、この正しい区切り位置にブロック区切りを重ねることで得られる5ブロック×5ブロックの領域を「復号領域」と称する。
FIG. 14 shows the correct delimiter positions determined by the
Here, when the block delimiter is overlapped at the position indicated by the bold line, two “1” s are included in all the blocks, so this position is the correct block delimiter position. The block detection may be started from any position. Here, the starting position (upper left) of the dot arrangement is used as a starting point, and the amount of movement in the X direction from this starting point to the correct block break position is MX, The amount of movement in the Y direction is MY. In the figure, MX = 0 and MY = 1. Hereinafter, an area of 5 blocks × 5 blocks obtained by overlapping block delimiters at the correct delimiter positions is referred to as a “decoding area”.
また、ブロック検出部23は、各ブロックにおけるドット位置(「0」及び「1」の配置)からパターン値を求める。このとき、図3に示したドット位置とパターン値との対応を参照する。
図15は、各ブロックにパターン値を割り当てた場合の例を示した図である。
例えば、左上のブロックでは、ブロック内の左上と右下にドットがあることが示されているので、図3の対応からパターン値0となる。また、その右のブロックでは、ブロック内の左上と右中央にドットがあることが示されているので、図3の対応からパターン値12となる。
Further, the
FIG. 15 is a diagram illustrating an example when pattern values are assigned to each block.
For example, since the upper left block indicates that there are dots at the upper left and lower right in the block, the pattern value is 0 from the correspondence in FIG. Further, in the right block, since it is shown that there are dots at the upper left and right center in the block, the pattern value is 12 from the correspondence in FIG.
次に、同期符号検出部24は、この中から、同期符号のパターン値を探す。本実施の形態では、パターン値32〜35の単位符号パターンを同期パターンとしているので、この番号を探す。図15の例では、パターン値35が同期符号となる。
図4を参照すると、パターン値35の同期符号は、正立した同期符号であるパターン値32の同期符号を右に270度回転した同期符号である。従って、符号配列を正立した方向にするには、符号配列を左に270度回転する必要がある。その場合、符号配列内の各要素のパターン値は、左に270度回転した場合のパターン値に変更する必要がある。
Next, the synchronization
Referring to FIG. 4, the synchronization code of the
図16は、正立位置の単位符号パターンのパターン値と、正立位置の単位符号パターンを右に90度回転した単位符号パターンのパターン値と、正立位置の単位符号パターンを右に180度回転した単位符号パターンのパターン値と、正立位置の単位符号パターンを右に270度回転した単位符号パターンのパターン値との対応表である。このような対応表を図示しないメモリに記憶し、同期符号検出部24は、この対応表を参照してパターン値を付け替えるようにすればよい。
FIG. 16 shows the pattern value of the unit code pattern at the erect position, the pattern value of the unit code pattern obtained by rotating the unit code pattern at the
図17(a)は、このときのパターン値の変更を具体的に示したものである。例えば、左上のパターン値0のブロックは、左に270度回転することで、右上のパターン値1のブロックとなる。また、その右のパターン値12のブロックは、左に270度回転することで、最右列の上から2番目のパターン値13のブロックとなる。
また、符号配列を回転させた場合、復号領域から読み込み領域への変換や、撮像画像上の座標から符号画像上の座標への変換に用いる値も変更となる。前者は、復号領域の左上点に対する読み込み領域の左上点の相対座標(RDX,RDY)であり、後者は、読み込み領域に対する撮像領域の角度RDDである。
そこで、同期符号検出部24は、図17(b)に示すように、各同期パターンに対し、回転角度に加え、これらの情報を求め、対応付けて図示しないメモリに記憶しておく。
FIG. 17A specifically shows the pattern value change at this time. For example, a block with a pattern value of 0 at the upper left turns into a block with a pattern value of 1 at the upper right by rotating 270 degrees to the left. Further, the block of the
In addition, when the code array is rotated, values used for conversion from the decoding area to the reading area and conversion from the coordinates on the captured image to the coordinates on the code image are also changed. The former is the relative coordinates (RDX, RDY) of the upper left point of the reading area with respect to the upper left point of the decoding area, and the latter is the angle RDD of the imaging area with respect to the reading area.
Therefore, as shown in FIG. 17B, the synchronization
その後、X座標符号検出部40、X座標符号復号部42、X座標符号誤り検出部43、X座標符号誤り訂正部44は、同期符号が配置された行の同期符号が配置されたブロック以外の4ブロックから各ブロックのX方向の位置を求める。また、Y座標符号検出部45、Y座標符号復号部47、Y座標符号誤り検出部48、Y座標符号誤り訂正部49は、同期符号が配置された列の同期符号が配置されたブロック以外の4ブロックから各ブロックのY方向の位置を求める。
図18において、右図は、同期符号が、左から2つ目、上から2つ目のブロックに配置されている例である。同期符号が配置された行における同期符号を挟むブロックを「X1」、「X2」、「X3」、「X4」とする。これらのブロックに配置された単位符号パターンのパターン値の組み合わせを、図7に示したパターン列と照合することで、「X1」がパターン列の何番目のブロックかが分かる。そして、同期パターンが配置されたブロック数を加算する補正を行うことで、「X1」のX方向のブロック位置BXを求める。また、Y方向についても同様にして「Y1」のY方向のブロック位置BYを求める。
Thereafter, the X coordinate
In FIG. 18, the right figure is an example in which the synchronization codes are arranged in the second block from the left and the second block from the top. The blocks sandwiching the synchronization code in the row where the synchronization code is arranged are “X1”, “X2”, “X3”, and “X4”. By comparing the combination of the pattern values of the unit code patterns arranged in these blocks with the pattern string shown in FIG. 7, it is possible to determine what number block in the pattern string is “X1”. Then, by correcting the number of blocks in which the synchronization pattern is arranged, the block position BX in the X direction of “X1” is obtained. Similarly, for the Y direction, the block position BY in the Y direction of “Y1” is obtained.
このようにX方向、Y方向のブロック位置が求まると、座標補正部50は、復号領域内の座標情報をペン先中心の座標情報へ変換する一連の処理を開始する。
図18において、左図には、復号領域の開始点のピクセル位置(DSX,DSY)を灰色で示している。つまり、「X1」の左端のピクセル位置はDSXであり、「Y1」の上端のピクセル位置はDSYである。1ブロックは12ピクセルなので、(DSX,DSY)は、DSX=(BX−1)×12+1
DSY=(BY−1)×12+1
により求められる。
When the block positions in the X direction and the Y direction are obtained in this way, the coordinate
In FIG. 18, in the left diagram, the pixel position (DSX, DSY) of the start point of the decoding area is shown in gray. That is, the leftmost pixel position of “X1” is DSX, and the uppermost pixel position of “Y1” is DSY. Since one block is 12 pixels, (DSX, DSY) is DSX = (BX−1) × 12 + 1
DSY = (BY-1) × 12 + 1
Is required.
以上の処理により、復号領域の左上のピクセル位置は求められるが、先に述べたように、復号領域と読み込み領域とは同じ位置ではないので、読み込み領域の位置を求めるためには、補正が必要である。この補正では、図17(b)に示した(RDX,RDY)を用いる。この値から、読み込み領域の左上の座標(RSX,RSY)は、
RSX=DSX+RDX
RSY=DSY+RDY
により求められる。
As a result of the above processing, the upper left pixel position of the decoding area is obtained, but as described above, the decoding area and the reading area are not the same position, so correction is necessary to obtain the position of the reading area. It is. In this correction, (RDX, RDY) shown in FIG. 17B is used. From this value, the upper left coordinates (RSX, RSY) of the reading area are
RSX = DSX + RDX
RSY = DSY + RDY
Is required.
また、読み込み領域の幅と高さは予め決められた設計値である。そこで、これらをそれぞれDAW,DAHとすると、読み込み領域中心(CRX,CRY)は、
CRX=RSX+DAW/2
CRY=RSY+DAH/2
により求められる。尚、ここまでの各座標は、符号画像上での座標である。
In addition, the width and height of the reading area are predetermined design values. Therefore, if these are DAW and DAH, respectively, the reading area center (CRX, CRY) is
CRX = RSX + DAW / 2
CRY = RSY + DAH / 2
Is required. The coordinates so far are the coordinates on the code image.
更に、撮像領域中心を求める必要がある。読み込み領域中心に対する撮像領域中心の相対座標(IRX,IRY)は、ドット配列生成部22によって既に与えられている。また、ペンデバイスの仕様から、撮像領域中心に対するペン先中心の相対座標(IPX,IPY)も定まっている。これにより、読み込み領域中心に対するペン先中心の相対座標は、(IRX+IPX,IRY+IPY)となる。しかし、この座標は、撮像画像上の座標であるので、符号画像上の座標に変換する必要がある。これら2つの座標は、読み込み領域中心を軸として、右方向に一定角度回転している。そこで、符号画像上での座標は、回転の座標変換により、
((IRX+IPX)cosRDD+(IRY+IPY)sinRDD,
−(IRX+IPX)sinRDD+(IRY+IPY)cosRDD)
となる。
Furthermore, it is necessary to obtain the center of the imaging region. The relative coordinates (IRX, IRY) of the center of the imaging region with respect to the center of the reading region are already given by the dot
((IRX + IPX) cosRDD + (IRY + IPY) sinRDD,
− (IRX + IPX) sinRDD + (IRY + IPY) cosRDD)
It becomes.
これらを総合すると、ペン先中心の符号画像上での座標(PPX,PPY)は、
PPX=(IRX+IPX)cosRDD+(IRY+IPY)sinRDD+DSX+RDX+DAW/2
PPY=−(IRX+IPX)sinRDD+(IRY+IPY)cosRDD+DSY+RDY+DAH/2
と求められる。
When these are combined, the coordinates (PPX, PPY) on the code image of the nib center are as follows:
PPX = (IRX + IPX) cosRDD + (IRY + IPY) sinRDD + DSX + RDX + DAW / 2
PPY = − (IRX + IPX) sinRDD + (IRY + IPY) cosRDD + DSY + RDY + DAH / 2
Is required.
図19に、ペン先中心の座標を求めるのに用いられる各座標の位置関係を示す。本実施の形態では、上述したように、復号領域開始点から読み込み領域開始点が求められ、読み込み領域開始点から読み込み領域中心が求められる。また、読み込み領域中心から撮像領域中心が求められ、撮像領域中心からペン先中心が求められる。また、図19では、符号画像の上部方向と撮像画像の上部方向も示されている。このように、符号画像と撮像画像には角度差があるので、読み込み領域中心から撮像領域中心やペン先中心を求める際には、この角度差を考慮している。 FIG. 19 shows the positional relationship between the coordinates used to determine the coordinates of the nib center. In the present embodiment, as described above, the reading area start point is obtained from the decoding area start point, and the reading area center is obtained from the reading area start point. Further, the center of the imaging area is obtained from the center of the reading area, and the center of the pen tip is obtained from the center of the imaging area. FIG. 19 also shows the upper direction of the code image and the upper direction of the captured image. As described above, since there is an angle difference between the code image and the captured image, this angle difference is taken into consideration when obtaining the center of the imaging region and the center of the pen tip from the center of the reading region.
以上の手順を整理すると、次のようになる。
図20は、この手順を説明するための図である。尚、以下の手順の番号と図中の番号とは対応している。
(1)復号領域の開始点(左上点)の座標(DSX,DSY)を求める。
(2)予め求められていた(RDX,RDY)を用いて、読み込み領域の開始点(左上点)の座標(DSX+RDX,DSY+RDY)を求める。
(3)復号に必要な領域のサイズ(DAW,DAH)から、読み込み領域中心の座標を求める。
(4)撮像画像上で、撮像領域中心及びペン先中心の読み込み領域中心に対する座標を求める。
(5)(4)で求めた座標を符号画像上での座標に変換し、(3)で求めた読み込み領域中心の座標に加算することで、符号画像上でのペン先中心の座標(PPX,PPY)を求める。
The above procedure is organized as follows.
FIG. 20 is a diagram for explaining this procedure. Note that the numbers of the following procedures correspond to the numbers in the figure.
(1) The coordinates (DSX, DSY) of the starting point (upper left point) of the decoding area are obtained.
(2) The coordinates (DSX + RDX, DSY + RDY) of the start point (upper left point) of the reading area are obtained using (RDX, RDY) obtained in advance.
(3) The coordinates of the reading area center are obtained from the area size (DAW, DAH) necessary for decoding.
(4) On the captured image, the coordinates of the center of the imaging region and the center of the pen tip with respect to the reading region center are obtained.
(5) The coordinates obtained in (4) are converted into coordinates on the code image, and added to the coordinates of the center of the reading area obtained in (3), so that the coordinates (PPX) of the nib center on the code image are obtained. , PPY).
尚、本実施の形態では、媒体から読み取られた第1の部分画像の一例として、撮像領域を用い、媒体上での自身の位置を表す第2の部分画像の一例として、復号領域を用いている。そして、第1の部分画像から抽出された部分画像であって、第2の部分画像の抽出に用いられる部分画像である第3の部分画像の一例として、読み込み領域を用いている。
また、指示手段により指示された位置の第1の部分画像の中心からの距離及び方向を特定する情報の一例として、(IPX,IPY)を用いている。更に、第1の部分画像の中心の第3の部分画像の中心からの距離及び方向を特定する情報の一例として、(IRX,IRY)を用いている。更にまた、第1の部分画像の第3の部分画像に対する回転角度を特定する情報の一例として、IRDを用いている。また、第3の部分画像の1つの頂点の第2の部分画像の1つの頂点からの垂直軸方向及び水平軸方向の変位を特定する情報の一例として、(RDX,RDY)を用いている。
In the present embodiment, an imaging region is used as an example of the first partial image read from the medium, and a decoding region is used as an example of the second partial image that represents its own position on the medium. Yes. A reading area is used as an example of a third partial image that is a partial image extracted from the first partial image and is used for extracting the second partial image.
In addition, (IPX, IPY) is used as an example of information specifying the distance and direction from the center of the first partial image at the position indicated by the instruction means. Furthermore, (IRX, IRY) is used as an example of information for specifying the distance and direction of the center of the first partial image from the center of the third partial image. Furthermore, IRD is used as an example of information for specifying the rotation angle of the first partial image with respect to the third partial image. In addition, (RDX, RDY) is used as an example of information specifying the displacement in the vertical axis direction and the horizontal axis direction from one vertex of the second partial image of one vertex of the third partial image.
次いで、画像処理装置20の動作について更に詳しく説明する。尚、この動作の説明では、9C2方式の単位符号パターンが図5に示したレイアウトで配置されていることを前提とする。
まず、ブロック検出部23の動作について説明する。
図21は、ブロック検出部23の動作例を示したフローチャートである。
まず、ブロック検出部23は、ドット配列生成部22からドット配列を取得する(ステップ201)。このドット配列の大きさは、上述したように、(復号に必要なブロック数×ブロックの一辺のドット数+ブロックの一辺のドット数−1)2である。本実施の形態では、復号に必要なブロック数は5×5であり、ブロックの一辺のドット数が3であるので、17×17のドット配列を取得する。
Next, the operation of the
First, the operation of the
FIG. 21 is a flowchart illustrating an operation example of the
First, the
次に、取得したドット配列に、ブロック区切りを重ね合わせる(ステップ202)。本実施の形態では、5×5のブロック区切りが用いられる。そして、カウンタI、Jに「0」を代入し、MaxBNにも「0」を代入する(ステップ203)。
ここで、I、Jは、ブロック区切りを初期位置から移動させたステップ数をカウントするものである。画像の1ラインごとにブロック区切りを移動させ、そのとき移動させたライン数をカウンタI、Jでカウントする。また、MaxBNは、ブロック内で検出されるドット数が「2」となるブロック数をブロック区切りを移動させながらカウントしていったときに、最大となるカウント値を記録するものである。
Next, a block break is superimposed on the acquired dot array (step 202). In this embodiment, a 5 × 5 block delimiter is used. Then, “0” is substituted into the counters I and J, and “0” is substituted into MaxBN (step 203).
Here, I and J count the number of steps in which the block break is moved from the initial position. The block break is moved for each line of the image, and the number of lines moved at that time is counted by counters I and J. MaxBN records the maximum count value when counting the number of blocks in which the number of dots detected in the block is “2” while moving the block delimiter.
次に、ブロック検出部23は、ブロック区切りをX方向にI、Y方向にJ移動させる(ステップ204)。初期状態においてI、Jは「0」であるので、ブロック区切りは移動しない。そして、ブロック区切りの各ブロックに含まれるドット数をカウントして、ドット数が「2」となるブロックの数をカウントする。カウントしたブロック数はIB[I,J]に格納する(ステップ205)。IB[I,J]のI、Jには、ブロック区切りの移動量を示すIとJの値がそれぞれ記録される。
Next, the
次に、ブロック検出部23は、IB[I,J]とMaxBNとを比較する(ステップ206)。MaxBNは初期値が「0」であるので、最初の比較では、IB[I,J]がMaxBNよりも大きくなる。この場合、MaxBNにIB[I,J]の値を代入すると共に、IにMXの値を、JにMYの値を代入する(ステップ207)。尚、IB[I,J]がMaxBN以下である場合は、MaxBN、MX、MYの値はそのままにしておく。
Next, the
その後、ブロック検出部23は、I=2であるかどうかを判定する(ステップ208)。
ここで、I=2でない場合には、Iに「1」を加算する(ステップ209)。そして、ステップ204、205の処理を繰り返し行い、IB[I,J]とMaxBNとを比較していく(ステップ206)。
IB[I,J]が前回までのIB[I,J]の最大値であるMaxBNよりも大きいと、MaxBNにIB[I,J]の値を代入し、そのときのIにMXの値を、JにMYの値を代入する(ステップ207)。また、MaxBNのほうがIB[I,J]よりも大きい場合には、I=2であるかどうかを判定する(ステップ208)。I=2となると、次にJ=2であるかどうかを判定する(ステップ210)。J=2でない場合には、Iに「0」を代入し、Jに「1」を加算する(ステップ211)。このような手順を繰り返し行い、(I,J)が(0,0)から(2,2)までで、IB[I,J]が最大のものを検出する。
Thereafter, the
If I = 2 is not satisfied, “1” is added to I (step 209). Then, the processing in steps 204 and 205 is repeated to compare IB [I, J] with MaxBN (step 206).
If IB [I, J] is larger than MaxBN, which is the maximum value of IB [I, J] up to the previous time, the value of IB [I, J] is assigned to MaxBN, and the value of MX is substituted for I at that time. , J is substituted for the value of MY (step 207). If MaxBN is larger than IB [I, J], it is determined whether I = 2 (step 208). When I = 2, it is next determined whether J = 2 or not (step 210). If J = 2 is not satisfied, “0” is substituted for I, and “1” is added to J (step 211). Such a procedure is repeated to detect a case where (I, J) is (0, 0) to (2, 2) and IB [I, J] is maximum.
I=2、J=2までの処理が終了すると、ブロック検出部23は、保存しているMaxBNと閾値TBとを比較する(ステップ212)。閾値TBは、ドット数が「2」のブロックの数が復号可能な程度のものかを判定するための閾値である。
ここで、MaxBNが閾値TBよりも大きい場合には、ブロック区切りをMX、MYの位置に固定し、その位置で各ブロックのパターン値を検出する。そして、検出したパターン値を、各ブロックを識別する変数X、Yと共に符号配列PA[X,Y]としてメモリに記録する(ステップ213)。尚、このとき、対応するパターン値に変換することができなければ、パターン値として用いられていない「99」を記録する。そして、ブロック検出部23は、MX、MYと、符号配列PA[X,Y]とを同期符号検出部24に出力する(ステップ214)。
一方、MaxBNが閾値TB以下である場合には、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する(ステップ215)。
When the processing up to I = 2 and J = 2 is completed, the
Here, when MaxBN is larger than the threshold value TB, the block break is fixed at the positions MX and MY, and the pattern value of each block is detected at that position. Then, the detected pattern value is recorded in the memory as a code array PA [X, Y] together with variables X and Y for identifying each block (step 213). At this time, if the pattern value cannot be converted, “99” which is not used as a pattern value is recorded. Then, the
On the other hand, if MaxBN is equal to or less than the threshold value TB, it is determined that decoding is impossible due to large noise in the image, and decoding is impossible (step 215).
次に、同期符号検出部24の動作について説明する。
図22は、同期符号検出部24の動作例を示したフローチャートである。
まず、同期符号検出部24は、ブロック検出部23からMX、MYと、符号配列PA[X,Y]とを取得する(ステップ251)。
次に、同期符号検出部24は、K、Lに「1」を代入する(ステップ252)。尚、KはX方向のブロック数を示すカウンタであり、LはY方向のブロック数を示すカウンタである。
Next, the operation of the synchronization
FIG. 22 is a flowchart illustrating an operation example of the synchronization
First, the synchronization
Next, the synchronous
次に、同期符号検出部24は、PA[K,L]のパターン値が32かどうかを判定する(ステップ253)。
PA[K,L]のパターン値が32であれば、符号配列PA[X,Y]の回転は必要ないと判定し、同期符号のあるブロックのX座標SXにKを代入し、Y座標SYにLを代入する。また、ブロック区切りのX方向への移動量ShiftXにMXを代入し、Y方向への移動量ShiftYにMYを代入する(ステップ254)。
尚、本実施の形態では、このとき、図17(b)に示すように、復号領域開始点から読み込み領域開始点への補正量RDX、RDYと、撮像画像上での座標を符号画像上での座標に変換する際の回転量RDDとを記憶しておく。具体的には、RDX=−MX×4、RDY=−MY×4、RDD=IRDにより、各値を求めて記憶しておく。ここで、1ドットの間隔が4ピクセルであることから、ドットで数えた座標からピクセルで数えた座標へと変換するために4を掛けている。
Next, the synchronization
If the pattern value of PA [K, L] is 32, it is determined that the rotation of the code array PA [X, Y] is not necessary, and K is substituted for the X coordinate SX of the block having the synchronization code, and the Y coordinate SY Substitute L for. Further, MX is substituted for the movement amount ShiftX in the X direction of the block delimiter, and MY is substituted for the movement amount ShiftY in the Y direction (step 254).
In this embodiment, at this time, as shown in FIG. 17B, the correction amounts RDX and RDY from the decoding area start point to the reading area start point and the coordinates on the captured image are displayed on the code image. The amount of rotation RDD when converting to the coordinates is stored. Specifically, each value is obtained and stored by RDX = −MX × 4, RDY = −MY × 4, and RDD = IRD. Here, since the interval of 1 dot is 4 pixels, 4 is multiplied to convert from the coordinates counted in dots to the coordinates counted in pixels.
次に、同期符号検出部24は、PA[K,L]のパターン値が33かどうかを判定する(ステップ255)。
PA[K,L]のパターン値が33であれば、符号配列PA[X,Y]を左方向に90度回転させる(ステップ256)。図4に示すようにパターン値33の単位符号パターンは、パターン値32の単位符号パターンを右方向に90度回転させた画像であるので、逆方向に90度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、左方向に90度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXにLを代入し、Y座標SYに6−Kを代入する。また、ブロック区切りのX方向への移動量ShiftXにMYを代入し、Y方向への移動量ShiftYに2−MXを代入する(ステップ257)。
尚、本実施の形態では、このとき、図17(b)に示すように、復号領域開始点から読み込み領域開始点への補正量RDX、RDYと、撮像画像上での座標を符号画像上での座標に変換する際の回転量RDDとを記憶しておく。具体的には、RDX=−MY×4、RDY=−(2−MX)×4、RDD=270+IRDにより、各値を求めて記憶しておく。RDDは、符号画像上の垂直方向からの回転角に変換している。
Next, the synchronization
If the pattern value of PA [K, L] is 33, the code array PA [X, Y] is rotated 90 degrees to the left (step 256). As shown in FIG. 4, the unit code pattern of the
In accordance with this rotation, L is substituted for the X coordinate SX of the block having the synchronization code, and 6-K is substituted for the Y coordinate SY. Also, MY is substituted for the movement amount ShiftX in the X direction of the block delimiter, and 2-MX is substituted for the movement amount ShiftY in the Y direction (step 257).
In this embodiment, at this time, as shown in FIG. 17B, the correction amounts RDX and RDY from the decoding area start point to the reading area start point and the coordinates on the captured image are displayed on the code image. The amount of rotation RDD when converting to the coordinates is stored. Specifically, each value is obtained and stored by RDX = −MY × 4, RDY = − (2−MX) × 4, RDD = 270 + IRD. The RDD is converted into a rotation angle from the vertical direction on the code image.
次に、同期符号検出部24は、PA[K,L]のパターン値が34かどうかを判定する(ステップ258)。
PA[K,L]のパターン値が34であれば、符号配列PA[X,Y]を左方向に180度回転させる(ステップ259)。図4に示すようにパターン値34の単位符号パターンは、パターン値32の単位符号パターンを180度回転させた画像であるので、パターン値34の単位符号パターンを180度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、180度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXに6−Kを代入し、Y座標SYに6−Lを代入する。また、ブロック区切りのX方向への移動量ShiftXに2−MXを代入し、Y方向への移動量ShiftYに2−MYを代入する(ステップ260)。
尚、本実施の形態では、このとき、図17(b)に示すように、復号領域開始点から読み込み領域開始点への補正量RDX、RDYと、撮像画像上での座標を符号画像上での座標に変換する際の回転量RDDとを記憶しておく。具体的には、RDX=−(2−MX)×4、RDY=−(2−MY)×4、RDD=180+IRDにより、各値を求めて記憶しておく。
Next, the synchronization
If the pattern value of PA [K, L] is 34, the code array PA [X, Y] is rotated 180 degrees to the left (step 259). As shown in FIG. 4, since the unit code pattern of the
In accordance with this rotation, 6-K is substituted for the X coordinate SX of the block having the synchronization code, and 6-L is substituted for the Y coordinate SY. Further, 2-MX is substituted for the movement amount ShiftX in the X direction of the block delimiter, and 2-MY is substituted for the movement amount ShiftY in the Y direction (step 260).
In this embodiment, at this time, as shown in FIG. 17B, the correction amounts RDX and RDY from the decoding area start point to the reading area start point and the coordinates on the captured image are displayed on the code image. The amount of rotation RDD when converting to the coordinates is stored. Specifically, each value is obtained and stored by RDX = − (2-MX) × 4, RDY = − (2-MY) × 4, RDD = 180 + IRD.
次に、同期符号検出部24は、PA[K,L]のパターン値が35かどうかを判定する(ステップ261)。
PA[K,L]のパターン値が35であれば、符号配列PA[X,Y]を左方向に270度回転させる(ステップ262)。図4に示すようにパターン値35の単位符号パターンは、パターン値32の単位符号パターンを右に270度回転させた画像であるので、逆方向に270度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、左方向に270度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXに6−Lを代入し、Y座標SYにKを代入する。また、ブロック区切りのX方向への移動量ShiftXに2−MYを代入し、Y方向への移動量ShiftYにMXを代入する(ステップ263)。
尚、本実施の形態では、このとき、図17(b)に示すように、復号領域開始点から読み込み領域開始点への補正量RDX、RDYと、撮像画像上での座標を符号画像上での座標に変換する際の回転量RDDとを記憶しておく。具体的には、RDX=−(2−MY)×4、RDY=−MX×4、RDD=90+IRDにより、各値を求めて記憶しておく。
Next, the synchronization
If the pattern value of PA [K, L] is 35, the code array PA [X, Y] is rotated 270 degrees to the left (step 262). As shown in FIG. 4, since the unit code pattern of the
In accordance with this rotation, 6-L is substituted for the X coordinate SX of the block having the synchronization code, and K is substituted for the Y coordinate SY. Further, 2-MY is substituted for the movement amount ShiftX in the X direction of the block delimiter, and MX is substituted for the movement amount ShiftY in the Y direction (step 263).
In this embodiment, at this time, as shown in FIG. 17B, the correction amounts RDX and RDY from the decoding area start point to the reading area start point and the coordinates on the captured image are displayed on the code image. The amount of rotation RDD when converting to the coordinates is stored. Specifically, each value is obtained and stored by RDX = − (2-MY) × 4, RDY = −MX × 4, RDD = 90 + IRD.
そして、ステップ254、257、260、263で、SX、SY、ShiftX、ShiftYに値が代入された場合、同期符号検出部24は、これらの値を識別符号検出部30、X座標符号検出部40、Y座標符号検出部45に出力する(ステップ264)。
また、PA[K,L]がパターン値32〜35のいずれでもなければ、同期符号検出部24は、K=5であるかどうかを判定する(ステップ265)。K=5でない場合には、Kに「1」を加算し(ステップ266)、ステップ253に戻る。K=5であれば、L=5であるかどうかを判定する(ステップ267)。L=5でない場合には、Kに「1」を代入し、Lに「1」を加算し(ステップ268)、ステップ253に戻る。即ち、ステップ253〜264の処理を、パターン値32〜35のブロックを検出するまでK、Lの値を変更しながら繰り返し行う。また、K=5、L=5になっても、パターン値32〜35のブロックを検出することができなかった場合には、復号不能の判定信号を出力する(ステップ269)。
When the values are assigned to SX, SY, ShiftX, and ShiftY in
If PA [K, L] is not any of the pattern values 32-35, the
尚、ステップ253、255、258、261の処理は、同期符号検出部24による制御の下、回転判定部25が行うようにするとよい。また、ステップ254、256、257、259、260、262、263の処理は、同期符号検出部24による制御の下、符号配列回転部26が行うようにするとよい。
Note that the processing of
次に、X座標符号検出部40の動作について説明する。
図23は、X座標符号検出部40の動作例を示したフローチャートである。
まず、X座標符号検出部40は、同期符号検出部24から符号配列PA[X,Y]、SX、SYを取得する(ステップ401)。
次に、X座標符号検出部40は、X座標符号配列XA[X,0]の全ての要素を「99」で初期化する(ステップ402)。尚、この「99」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。更に、X座標符号検出部40は、X座標符号配列における各要素を識別するためのカウンタKXにも「1」を代入する(ステップ403)。
Next, the operation of the X coordinate
FIG. 23 is a flowchart illustrating an operation example of the X coordinate
First, the X coordinate
Next, the X coordinate
また、X座標符号検出部40は、IY−SYが「5」で割り切れるかどうかを判定する(ステップ404)。即ち、IYで特定されるブロックに同期符号が配置されているかどうかを判定する。
ここで、IY−SYが「5」で割り切れなかった場合、つまり、このブロックに同期符号が配置されていない場合は、X座標符号を取り出す対象ではないため、IYに「1」を加算し(ステップ405)、ステップ404へ進む。
一方、IY−SYが「5」で割り切れた場合、つまり、このブロックに同期符号が配置されている場合、X座標符号検出部40は、IX−SXが「5」で割り切れるかどうかを判定する(ステップ406)。即ち、IXで特定されるブロックに同期符号が配置されているかどうかを判定する。
Further, the X coordinate
Here, if IY-SY is not divisible by “5”, that is, if no synchronization code is arranged in this block, the X coordinate code is not extracted, so “1” is added to IY ( Step 405), the process proceeds to Step 404.
On the other hand, when IY-SY is divisible by “5”, that is, when a synchronization code is arranged in this block, the X coordinate
ここで、IX−SXが「5」で割り切れた場合、つまり、このブロックに同期符号が配置されている場合は、X座標符号を取り出す対象ではないため、IXに「1」を加算し(ステップ407)、ステップ406へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、このブロックに同期符号が配置されていない場合、X座標符号検出部40は、XA[KX,0]にPA[IX,IY]を代入する(ステップ408)。
Here, when IX-SX is divisible by “5”, that is, when a synchronous code is arranged in this block, since the X coordinate code is not extracted, “1” is added to IX (
On the other hand, when IX-SX is not divisible by “5”, that is, when a synchronization code is not arranged in this block, the X coordinate
そして、IX=5であるかどうかを判定する(ステップ409)。
ここで、IX=5でない場合には、KXに「1」を加算し(ステップ410)、IXに「1」を加算して(ステップ407)、ステップ406〜408の処理をIX=5となるまで繰り返し行う。また、IX=5となると、次に、IY=5であるかどうかを判定する(ステップ411)。IY=5でない場合には、IX、KXに「1」を代入し(ステップ412)、IYに「1」を加算して(ステップ405)、ステップ404〜410の処理をIY=5となるまで繰り返し行う。また、IY=5となると、X座標符号検出部40は、X座標符号配列XA[X,0]をX座標符号復号部42に出力する(ステップ413)。
尚、ここでは、X座標符号検出部40の動作のみ説明したが、Y座標符号検出部45も同様の動作を行う。
以上により、本実施の形態における画像処理装置20の詳細な動作説明を終了する。
Then, it is determined whether or not IX = 5 (step 409).
If IX = 5 is not satisfied, “1” is added to KX (step 410), “1” is added to IX (step 407), and the processing of steps 406 to 408 becomes IX = 5. Repeat until When IX = 5, it is next determined whether IY = 5 (step 411). If IY = 5 is not satisfied, “1” is substituted into IX and KX (step 412), “1” is added to IY (step 405), and the processing of steps 404 to 410 is performed until IY = 5. Repeat. When IY = 5, the X coordinate
Although only the operation of the X coordinate
Thus, the detailed operation description of the
次に、座標補正部50の動作について説明する。
図24は、座標補正部50の動作例を示したフローチャートである。
まず、座標補正部50は、撮像領域中心に対するペン先中心の相対座標(IPX,IPY)と、読み込み領域中心に対する撮像領域中心の相対座標(IRX,IRY)とを取得する(ステップ501)。ここで、(IPX,IPY)は、ペンデバイスの仕様として、図示しないメモリに予め記憶されているので、それを読み出す。また、(IRX,IRY)は、ドット配列生成部22によるドット画像の検出時にメモリに記憶されているので、それを読み出す。
Next, the operation of the coordinate
FIG. 24 is a flowchart illustrating an operation example of the coordinate
First, the coordinate
次に、座標補正部50は、ブロック区切りの移動量のピクセル数(RDX,RDY)と、撮像領域の読み込み領域に対する回転角RDDを取得する(ステップ502)。ここで、これらの値は、同期符号検出部24による回転検出時にメモリに記憶されているので、それを読み出す。
また、座標補正部50は、X座標符号復号部42から符号ブロックの左端のブロックの位置BXを取得すると共に、Y座標符号復号部47から符号ブロックの上端のブロックの位置BYを取得する(ステップ503)。
Next, the coordinate
Further, the coordinate
その後、座標補正部50は、復号領域開始点のピクセル位置(DSX,DSY)を求め(ステップ504)、更に、これを読み込み領域開始点のピクセル位置(RSX,RSY)に変換する(ステップ505)。そして、最後に、読み込み領域中心のピクセル位置(CRX,CRY)を求め(ステップ506)、ペン先中心のピクセル位置(PPX,PPY)を求める(ステップ507)。尚、これらのステップにおけるピクセル位置の変換式については、これまでの説明で詳しく述べているので、ここでの説明は省略する。
Thereafter, the coordinate
以上により、本実施の形態の動作の説明を終了する。
ところで、本実施の形態では、まず、復号領域の位置を求め、次に、読み込み領域の位置を求め、更に、撮像領域の位置を求めて、ペン先の位置を求めるようにした。しかしながら、必ずしもこれらの全ての位置を求めなければならないわけではない。例えば、mCn方式以外の符号化方式を採用した場合、復号領域と読み込み領域を同一視できる場合もあると考えられる。そのような場合は、復号領域から直接撮像領域を求めるようにしてもよい。
This is the end of the description of the operation of the present embodiment.
By the way, in this embodiment, first, the position of the decoding area is obtained, then the position of the reading area is obtained, and further, the position of the imaging area is obtained to obtain the position of the pen tip. However, not all of these positions need to be determined. For example, when an encoding method other than the mCn method is employed, it may be considered that the decoding area and the reading area may be identified. In such a case, the imaging area may be obtained directly from the decoding area.
次に、本実施の形態における画像処理装置20の具体的なハードウェア構成について説明する。
まず、画像処理装置20を実現するペンデバイス60について説明する。
図25は、ペンデバイス60の機構を示した図である。
図示するように、ペンデバイス60は、ペン全体の動作を制御する制御回路61を備える。また、制御回路61は、入力画像から検出した符号画像を処理する画像処理部61aと、そこでの処理結果から識別情報及び位置情報を抽出するデータ処理部61bとを含む。
そして、制御回路61には、ペンデバイス60による筆記動作をペンチップ69に加わる圧力によって検出する圧力センサ62が接続されている。また、媒体上に赤外光を照射する赤外LED63と、画像を入力する赤外CMOS64も接続されている。更に、識別情報及び位置情報を記憶するための情報メモリ65と、外部装置と通信するための通信回路66と、ペンを駆動するためのバッテリ67と、ペンの識別情報(ペンID)を記憶するペンIDメモリ68も接続されている。
Next, a specific hardware configuration of the
First, the pen device 60 that implements the
FIG. 25 is a view showing the mechanism of the pen device 60.
As illustrated, the pen device 60 includes a
The
尚、図11に示した画像読取部21は、例えば、図25の赤外CMOS64にて実現される。また、ドット配列生成部22は、例えば、図25の画像処理部61aにて実現される。更に、図11に示したブロック検出部23、同期符号検出部24、回転判定部25、符号配列回転部26、識別符号検出部30、識別符号復元部31、識別符号復号部32、識別符号誤り検出部33、識別符号誤り訂正部34、X座標符号検出部40、X座標符号復号部42、X座標符号誤り検出部43、X座標符号誤り訂正部44、Y座標符号検出部45、Y座標符号復号部47、Y座標符号誤り検出部48、Y座標符号誤り訂正部49、座標補正部50、情報出力部55は、例えば、図25のデータ処理部61bにて実現される。
The
また、本実施の形態では、媒体上の位置を指示する指示手段の一例として、ペンデバイス60のペンチップ69を設けたが、これには限らない。媒体に筆記を行うための構成ではなく、単に媒体上の所定位置をポイントするための構成を指示手段として捉えてもよい。
In the present embodiment, the
また、図25の画像処理部61a又はデータ処理部61bにて実現される処理は、例えば、汎用のコンピュータで実現してもよい。そこで、かかる処理をコンピュータ90で実現するものとし、コンピュータ90のハードウェア構成について説明する。
図26は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
The processing realized by the
FIG. 26 is a diagram illustrating a hardware configuration of the
As shown in the figure, the
Further, the
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。 The program for realizing the present embodiment can be provided not only by communication means but also by storing it in a recording medium such as a CD-ROM.
10…画像生成装置、20…画像処理装置、21…画像読取部、22…ドット配列生成部、23…ブロック検出部、24…同期符号検出部、25…回転判定部、26…符号配列回転部、30…識別符号検出部、31…識別符号復元部、32…識別符号復号部、33…識別符号誤り検出部、34…識別符号誤り訂正部、40…X座標符号検出部、42…X座標符号復号部、43…X座標符号誤り検出部、44…X座標符号誤り訂正部、45…Y座標符号検出部、47…Y座標符号復号部、48…Y座標符号誤り検出部、49…Y座標符号誤り訂正部、50…座標補正部、55…情報出力部
DESCRIPTION OF
Claims (9)
前記媒体に印刷された画像に含まれる第1の部分画像を読み取る読取手段と、
前記読取手段により読み取られた前記第1の部分画像から、前記媒体上での自身の位置を表す第2の部分画像を抽出する抽出手段と、
前記抽出手段により抽出された前記第2の部分画像を用いて、前記媒体上での当該第2の部分画像の位置を検出する検出手段と、
前記指示手段により指示された位置の前記第1の部分画像に対する相対位置を示す第1の情報と、前記第1の部分画像の前記第2の部分画像に対する相対位置を示す第2の情報とを取得する取得手段と、
前記検出手段により検出された前記第2の部分画像の位置を、前記第1の情報と前記第2の情報とを用いて補正する補正手段と
を備えたことを特徴とする位置検出装置。 Indicating means for indicating a position on the medium;
Reading means for reading a first partial image included in an image printed on the medium;
Extraction means for extracting a second partial image representing its own position on the medium from the first partial image read by the reading means;
Detecting means for detecting the position of the second partial image on the medium using the second partial image extracted by the extracting means;
First information indicating a relative position of the position instructed by the instruction means with respect to the first partial image, and second information indicating a relative position of the first partial image with respect to the second partial image. Acquisition means for acquiring;
A position detection apparatus comprising: a correction unit that corrects the position of the second partial image detected by the detection unit using the first information and the second information.
前記取得手段は、前記第2の情報を、前記第1の部分画像の前記第3の部分画像に対する相対位置を示す第3の情報と、前記第3の部分画像の前記第2の部分画像に対する相対位置を示す第4の情報とに分けて取得することを特徴とする請求項1記載の位置検出装置。 The extraction means extracts the second partial image from the third partial image after extracting the third partial image from the first partial image,
The acquisition unit includes the second information, the third information indicating a relative position of the first partial image with respect to the third partial image, and the second partial image of the third partial image. The position detection device according to claim 1, wherein the position detection device is acquired separately from fourth information indicating a relative position.
前記取得手段は、前記第3の部分画像の1つの頂点の前記第2の部分画像の1つの頂点からの前記垂直軸方向及び前記水平軸方向の変位を特定する情報を、前記第4の情報として取得することを特徴とする請求項3記載の位置検出装置。 The second partial image and the third partial image have a rectangular shape sharing a vertical axis and a horizontal axis,
The acquisition means uses the fourth information to specify information specifying a displacement in the vertical axis direction and the horizontal axis direction from one vertex of the second partial image of one vertex of the third partial image. The position detection device according to claim 3, acquired as:
前記抽出手段は、前記パターン画像と略同じ大きさの区画を前記垂直軸方向にAx個、前記水平軸方向にAy個配置してなる枠を、前記第3の部分画像上で移動し、n個の単位画像を含む区画が所定数以上となる移動位置を求め、当該移動位置における当該枠内の画像を前記第2の部分画像として抽出し、
前記取得手段は、前記移動位置までの前記枠の前記垂直軸方向及び前記水平軸方向の移動量を、前記変位を特定する情報として取得することを特徴とする請求項6記載の位置検出装置。 The second partial image includes Ax (Ax ≧ 2) pattern images in which the unit images are arranged at n (2 ≦ n <m) of m (m ≧ 4), An image formed by arranging Ay (Ay ≧ 2) in the horizontal axis direction,
The extraction means moves a frame formed by arranging Ax pieces of sections having substantially the same size as the pattern image in the vertical axis direction and Ay pieces in the horizontal axis direction on the third partial image, and n Obtaining a moving position where the number of sections including the unit images is a predetermined number or more, and extracting an image in the frame at the moving position as the second partial image;
The position detection apparatus according to claim 6, wherein the acquisition unit acquires the amount of movement of the frame to the movement position in the vertical axis direction and the horizontal axis direction as information for specifying the displacement.
媒体に印刷された画像から読み取られた当該画像の第1の部分画像から、当該媒体上での自身の位置を表す第2の部分画像を抽出する機能と、
抽出された前記第2の部分画像を用いて、前記媒体上での当該第2の部分画像の位置を検出する機能と、
指示手段により指示された前記媒体上の位置の前記第1の部分画像に対する相対位置を示す第1の情報と、前記第1の部分画像の前記第2の部分画像に対する相対位置を示す第2の情報とを取得する機能と、
検出された前記第2の部分画像の位置を、前記第1の情報と前記第2の情報とを用いて補正する機能と
を実現させるためのプログラム。 On the computer,
A function of extracting a second partial image representing its own position on the medium from the first partial image of the image read from the image printed on the medium;
A function of detecting the position of the second partial image on the medium using the extracted second partial image;
First information indicating a relative position of the position on the medium instructed by the instruction unit with respect to the first partial image, and a second information indicating a relative position of the first partial image with respect to the second partial image The ability to get information and
A program for realizing a function of correcting the position of the detected second partial image using the first information and the second information.
前記取得する機能では、前記第2の情報を、前記第1の部分画像の前記第3の部分画像に対する相対位置を示す第3の情報と、前記第3の部分画像の前記第2の部分画像に対する相対位置を示す第4の情報とに分けて取得することを特徴とする請求項8記載のプログラム。 In the extracting function, after extracting the third partial image from the first partial image, the second partial image is extracted from the third partial image,
In the function to obtain, the second information includes third information indicating a relative position of the first partial image with respect to the third partial image, and the second partial image of the third partial image. 9. The program according to claim 8, wherein the program is acquired separately from fourth information indicating a relative position with respect to.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007143628A JP4967823B2 (en) | 2007-05-30 | 2007-05-30 | Position detection apparatus and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007143628A JP4967823B2 (en) | 2007-05-30 | 2007-05-30 | Position detection apparatus and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008299508A true JP2008299508A (en) | 2008-12-11 |
JP4967823B2 JP4967823B2 (en) | 2012-07-04 |
Family
ID=40172995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007143628A Active JP4967823B2 (en) | 2007-05-30 | 2007-05-30 | Position detection apparatus and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4967823B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009181340A (en) * | 2008-01-30 | 2009-08-13 | Fuji Xerox Co Ltd | Position detection device and program |
JP2010147524A (en) * | 2008-12-16 | 2010-07-01 | Fuji Xerox Co Ltd | Image processing apparatus, position code image compositing apparatus, image forming apparatus, image processing method, position code image compositing method and program |
JP2014067398A (en) * | 2012-09-04 | 2014-04-17 | Panasonic Corp | Hand writing input system |
JP2014232544A (en) * | 2014-07-22 | 2014-12-11 | グリッドマーク株式会社 | Handwriting input/output system and optical reading device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000293303A (en) * | 1999-02-03 | 2000-10-20 | Ricoh Co Ltd | Coordinate input device, information processing system and medium |
JP2005092438A (en) * | 2003-09-16 | 2005-04-07 | Casio Comput Co Ltd | Flat recording medium and coordinate reading method |
JP2005235185A (en) * | 2004-01-16 | 2005-09-02 | Microsoft Corp | Stroke localization by m-array decoding and fast image matching |
JP2006243818A (en) * | 2005-02-28 | 2006-09-14 | Fuji Xerox Co Ltd | Printed matter with position identification function, two-dimensional coordinate identification device, image formation device, and its method |
-
2007
- 2007-05-30 JP JP2007143628A patent/JP4967823B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000293303A (en) * | 1999-02-03 | 2000-10-20 | Ricoh Co Ltd | Coordinate input device, information processing system and medium |
JP2005092438A (en) * | 2003-09-16 | 2005-04-07 | Casio Comput Co Ltd | Flat recording medium and coordinate reading method |
JP2005235185A (en) * | 2004-01-16 | 2005-09-02 | Microsoft Corp | Stroke localization by m-array decoding and fast image matching |
JP2006243818A (en) * | 2005-02-28 | 2006-09-14 | Fuji Xerox Co Ltd | Printed matter with position identification function, two-dimensional coordinate identification device, image formation device, and its method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009181340A (en) * | 2008-01-30 | 2009-08-13 | Fuji Xerox Co Ltd | Position detection device and program |
JP2010147524A (en) * | 2008-12-16 | 2010-07-01 | Fuji Xerox Co Ltd | Image processing apparatus, position code image compositing apparatus, image forming apparatus, image processing method, position code image compositing method and program |
JP2014067398A (en) * | 2012-09-04 | 2014-04-17 | Panasonic Corp | Hand writing input system |
JP2014232544A (en) * | 2014-07-22 | 2014-12-11 | グリッドマーク株式会社 | Handwriting input/output system and optical reading device |
Also Published As
Publication number | Publication date |
---|---|
JP4967823B2 (en) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100573566C (en) | The Code And Decode of data | |
JP4289350B2 (en) | Image processing apparatus and image processing method | |
JP4207049B2 (en) | Printed matter with identification function, image generation apparatus, image processing apparatus and method thereof | |
JP2006243818A (en) | Printed matter with position identification function, two-dimensional coordinate identification device, image formation device, and its method | |
JP4967823B2 (en) | Position detection apparatus and program | |
US8019181B2 (en) | Image generation apparatus, image processing apparatus, computer readable medium and computer data signal | |
JP5609469B2 (en) | Image processing apparatus, identification apparatus, electronic writing instrument, and program | |
JP4985436B2 (en) | Position detection apparatus and program | |
US8657205B2 (en) | Image processing apparatus, identification apparatus, method for determining bit sequence and computer readable medium | |
JP4973316B2 (en) | Image processing apparatus and program | |
JP2009181341A (en) | Position detection device and program | |
JP5125547B2 (en) | Image generating apparatus, image processing apparatus, program, and print medium | |
JP5125548B2 (en) | Image processing apparatus and program | |
JP4973317B2 (en) | Image processing apparatus and program | |
JP5115213B2 (en) | Image generating apparatus, image processing apparatus, program, and print medium | |
JP5098441B2 (en) | Image processing apparatus and program | |
JP4996461B2 (en) | Data coding and decoding | |
JP2008301120A (en) | Image processor, image generating apparatus and program | |
JP4765894B2 (en) | Image generating apparatus, information reading apparatus, and recording medium | |
JP5028955B2 (en) | Image processing apparatus and program | |
JP2008301128A (en) | Image processor, image-generating apparatus and program | |
JP2009176251A (en) | Image processing device and program | |
JP2008504598A5 (en) | ||
JP2008113215A (en) | Image generating device, image processing apparatus, print medium, and program | |
JP2009181346A (en) | Image processor, pen device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100423 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111007 |
|
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: 20120306 |
|
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: 20120319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4967823 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |