JP2008301120A - Image processor, image generating apparatus and program - Google Patents

Image processor, image generating apparatus and program Download PDF

Info

Publication number
JP2008301120A
JP2008301120A JP2007144175A JP2007144175A JP2008301120A JP 2008301120 A JP2008301120 A JP 2008301120A JP 2007144175 A JP2007144175 A JP 2007144175A JP 2007144175 A JP2007144175 A JP 2007144175A JP 2008301120 A JP2008301120 A JP 2008301120A
Authority
JP
Japan
Prior art keywords
information
code
coordinate
coordinate information
image
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.)
Withdrawn
Application number
JP2007144175A
Other languages
Japanese (ja)
Inventor
Takashi Sonoda
隆志 園田
Kenji Onishi
健司 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2007144175A priority Critical patent/JP2008301120A/en
Publication of JP2008301120A publication Critical patent/JP2008301120A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To change contents of processing on coordinates, according to a result of comparison between coordinates on a medium and the range of the coordinates. <P>SOLUTION: The image processor is equipped with an image read section 21 which reads an image, a dot array generating section 22 which generates a dot array from the image, a block detecting section 23 which detects a block in the dot array and generates a code array, a synchronous code detecting section 24 which detects synchronous code in the code array, an identification code detecting section 30 which detects identification code from the code array, and an X coordinate code detecting section 40 and a Y coordinate code detecting section 45 which detect a coordinate code from the code array. Furthermore, an identification code decoding section 32 extracts range information, representing the range of codes from the identification code, and an X coordinate code decoding section 42 and a Y coordinate code decoding section 47 compare the coordinate information extracted from a coordinate code, with the range information acquired by the identification code decoding section 32 and determine the contents of processing with respect to the coordinates. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、画像処理装置、画像生成装置、プログラムに関する。   The present invention relates to an image processing device, an image generation 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 patent document 1, a cyclic numeral sequence is printed a plurality of times along the surface. At that time, using different rotations of the cyclic numeral sequences so that a predetermined deviation occurs between the adjacent numeric strings, a plurality of code windows divided on the surface include at least three cyclic numeral sequences and adjacent codes. It has one numeric string that overlaps one numeric string of the window, and the position of the code window is encoded by a shift between the cyclic numeric strings belonging to the code window.

論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている(例えば、特許文献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 Patent Document 3, a non-repetitive sequence is folded into a non-repetitive sequence unique to each sub-window of a predetermined size, and the captured position is determined for each sub-window in the non-repetitive sequence. Thus, the position of the captured image is determined from the image of the larger subwindow.

光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている(例えば、特許文献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 patent document 4, a recording apparatus uses a printer system or a printing plate making system as a dot code that can optically read so-called multimedia information including audio information, video information, digital code data, etc. And record on a medium such as paper. The pen-type information reproducing device sequentially captures the dot code according to the manual scanning of the dot code, and the original audio information is output by the audio output device, the original video information is displayed by the display device, and the original digital code data Is output by a page printer or the like.

タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている(例えば、特許文献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 patent document 5, a pen-type coordinate input device optically reads a code symbol formed on a medium and indicating the coordinates on the medium, decodes the read code symbol, and reads the code symbol in the read image. The position, orientation, and amount of distortion are detected. Then, the coordinates of the position of the tip on the medium are detected based on the decoded information and the position, orientation, and distortion amount of the code symbol.

特表2003−511762号公報JP-T-2003-511762 特開平9−185669号公報JP-A-9-185669 特開2004−152273号公報JP 2004-152273 A 特開平6−231466号公報JP-A-6-231466 特開2000−293303号公報JP 2000-293303 A

ここで、従来、媒体上の座標とその座標の範囲とを用いて処理を行うための仕組みは提案されていなかった。
本発明の目的は、媒体上の座標とその座標の範囲とを用いて処理を行えるようにすることにある。
Here, conventionally, a mechanism for performing processing using coordinates on a medium and a range of the coordinates has not been proposed.
An object of the present invention is to enable processing using coordinates on a medium and a range of the coordinates.

請求項1に記載の発明は、媒体上の位置を示す座標情報と当該座標情報の範囲を示す範囲情報とを表す画像が印刷された当該媒体から読み取られた当該画像を取得する取得手段と、前記取得手段により取得された前記画像から前記座標情報を検出する座標情報検出手段と、前記取得手段により取得された前記画像から前記範囲情報を検出する範囲情報検出手段と、前記座標情報検出手段により検出された前記座標情報と、前記範囲情報検出手段により検出された前記範囲情報との比較結果に応じて、当該座標情報に対する処理内容を決定する決定手段とを備えたことを特徴とする画像処理装置である。
請求項2に記載の発明は、前記座標情報は、前記媒体上の位置を、当該媒体上の所定の基準点からの当該位置の縦方向及び横方向の変位によって示したものであり、前記範囲情報は、前記座標情報の範囲を、前記媒体の縦方向及び横方向の長さを特定するための情報によって示したものであることを特徴とする請求項1記載の画像処理装置である。
請求項3に記載の発明は、前記座標情報は、前記媒体上の位置を、当該媒体を包含する特定の領域上にあって当該媒体上にはない所定の基準点からの当該位置の縦方向及び横方向の変位によって示したものであり、前記範囲情報は、前記座標情報の範囲を、当該座標情報の前記特定の領域上の位置を示す座標情報内での位置を特定するための情報と、前記媒体の縦方向及び横方向の長さを特定するための情報とによって示したものであることを特徴とする請求項1記載の画像処理装置である。
請求項4に記載の発明は、媒体上の位置を所定の座標系に従って示した座標情報を取得する座標情報取得手段と、前記座標情報の範囲を示す範囲情報を取得する範囲情報取得手段と、前記座標情報取得手段により取得された前記座標情報と、前記範囲情報取得手段により取得された前記範囲情報とを表す画像を生成する生成手段とを備えたことを特徴とする画像生成装置である。
請求項5に記載の発明は、前記座標情報取得手段は、前記媒体上の所定の基準点からの前記媒体上の位置の縦方向及び横方向の変位を、前記座標情報として取得し、前記範囲情報取得手段は、前記媒体の縦方向及び横方向の長さを特定するための情報を、前記範囲情報として取得することを特徴とする請求項4記載の画像生成装置である。
請求項6に記載の発明は、前記媒体を包含する特定の領域上の位置を前記所定の座標系に従って示した拡張座標情報を記憶する記憶手段を更に備え、前記座標情報取得手段は、前記特定の領域上にあって前記媒体上にはない所定の基準点からの前記媒体上の位置の縦方向及び横方向の変位を、前記座標情報として取得し、前記範囲情報取得手段は、前記座標情報の前記拡張座標情報内での位置を特定するための情報と、前記媒体の縦方向及び横方向の長さを特定するための情報とを、前記範囲情報として取得することを特徴とする請求項4記載の画像生成装置である。
請求項7に記載の発明は、前記記憶手段は、複数の前記拡張座標情報を各々の識別情報に関連付けて記憶し、前記座標情報取得手段は、前記座標情報を、前記記憶手段に記憶された前記複数の拡張座標情報のうちの特定の拡張座標情報から取得し、かつ、当該特定の拡張座標情報に関連付けられた前記識別情報を取得し、前記生成手段は、前記座標情報取得手段により取得された前記識別情報を更に表す前記画像を生成することを特徴とする請求項6記載の画像生成装置である。
請求項8に記載の発明は、コンピュータに、媒体上の位置を示す座標情報と当該座標情報の範囲を示す範囲情報とを表す画像が印刷された当該媒体から読み取られた当該画像を取得する機能と、取得された前記画像から前記座標情報を検出する機能と、取得された前記画像から前記範囲情報を検出する機能と、検出された前記座標情報と、検出された前記範囲情報との比較結果に応じて、当該座標情報に対する処理内容を決定する機能とを実現させるためのプログラムである。
請求項9に記載の発明は、コンピュータに、媒体上の位置を所定の座標系に従って示した座標情報を取得する機能と、前記座標情報の範囲を示す範囲情報を取得する機能と、取得された前記座標情報と、取得された前記範囲情報とを表す画像を生成する機能とを実現させるためのプログラムである。
The invention according to claim 1 is an acquisition unit that acquires the image read from the medium on which the image representing the coordinate information indicating the position on the medium and the range information indicating the range of the coordinate information is printed; By coordinate information detection means for detecting the coordinate information from the image acquired by the acquisition means, range information detection means for detecting the range information from the image acquired by the acquisition means, and by the coordinate information detection means Image processing comprising: a determining unit that determines a processing content for the coordinate information according to a comparison result between the detected coordinate information and the range information detected by the range information detecting unit Device.
According to a second aspect of the present invention, the coordinate information indicates a position on the medium by a vertical and horizontal displacement of the position from a predetermined reference point on the medium. The image processing apparatus according to claim 1, wherein the information indicates a range of the coordinate information by information for specifying a length in a vertical direction and a horizontal direction of the medium.
According to a third aspect of the present invention, in the coordinate information, the position on the medium is a vertical direction of the position from a predetermined reference point that is on a specific area including the medium and not on the medium. And the range information includes information for specifying the position of the coordinate information in the coordinate information indicating the position of the coordinate information on the specific area. The image processing apparatus according to claim 1, wherein the image processing apparatus is indicated by information for specifying a length in a vertical direction and a horizontal direction of the medium.
The invention according to claim 4 is a coordinate information acquisition unit that acquires coordinate information indicating a position on a medium according to a predetermined coordinate system, a range information acquisition unit that acquires range information indicating a range of the coordinate information, An image generation apparatus comprising: generation means for generating an image representing the coordinate information acquired by the coordinate information acquisition means and the range information acquired by the range information acquisition means.
According to a fifth aspect of the present invention, the coordinate information acquisition unit acquires, as the coordinate information, a vertical and horizontal displacement of a position on the medium from a predetermined reference point on the medium, and the range. The image generation apparatus according to claim 4, wherein the information acquisition unit acquires information for specifying a length in a vertical direction and a horizontal direction of the medium as the range information.
The invention according to claim 6 further includes storage means for storing extended coordinate information indicating a position on a specific area including the medium according to the predetermined coordinate system, wherein the coordinate information acquisition means is the specific information The displacement in the vertical direction and the horizontal direction of the position on the medium from a predetermined reference point not on the medium is acquired as the coordinate information, and the range information acquisition unit is configured to acquire the coordinate information. The information for specifying the position in the extended coordinate information and the information for specifying the vertical and horizontal lengths of the medium are acquired as the range information. 4. The image generating device according to 4.
According to a seventh aspect of the present invention, the storage means stores a plurality of the extended coordinate information in association with each identification information, and the coordinate information acquisition means stores the coordinate information in the storage means. Obtained from specific extended coordinate information of the plurality of extended coordinate information and the identification information associated with the specific extended coordinate information, the generating means is obtained by the coordinate information obtaining means The image generation apparatus according to claim 6, wherein the image further expressing the identification information is generated.
The invention according to claim 8 is a function for acquiring the image read from the medium on which the image representing the coordinate information indicating the position on the medium and the range information indicating the range of the coordinate information is printed on the computer. And a function of detecting the coordinate information from the acquired image, a function of detecting the range information from the acquired image, a comparison result of the detected coordinate information and the detected range information Is a program for realizing the function of determining the processing content for the coordinate information.
The invention according to claim 9 is obtained by the computer having a function of acquiring coordinate information indicating a position on the medium according to a predetermined coordinate system, a function of acquiring range information indicating a range of the coordinate information, and A program for realizing a function of generating an image representing the coordinate information and the acquired range information.

請求項1の発明は、媒体上の座標とその座標の範囲との比較結果に応じて、座標に対する処理の内容を変えることができるという効果を有する。
請求項2の発明は、本構成を有していない場合に比較して、媒体上の座標とその座標の範囲とを比較する計算が容易になるという効果を有する。
請求項3の発明は、媒体を包含する領域上の座標の任意の部分を用いて、媒体上の座標を表すことができるという効果を有する。
請求項4の発明は、媒体上の座標とその座標の範囲とを取得可能な画像を生成することができるという効果を有する。
請求項5の発明は、本構成を有していない場合に比較して、媒体上の座標とその座標の範囲とを比較する計算が容易になるという効果を有する。
請求項6の発明は、媒体を包含する領域上の座標の任意の部分を用いて、媒体上の座標を表すことができるという効果を有する。
請求項7の発明は、媒体を包含する領域上の座標を用いて媒体上の座標を表す際、本構成を有していない場合に比較して、媒体の識別情報の決め方が容易になるという効果を有する。
請求項8の発明は、媒体上の座標とその座標の範囲との比較結果に応じて、座標に対する処理の内容を変えることができるという効果を有する。
請求項9の発明は、媒体上の座標とその座標の範囲とを取得可能な画像を生成することができるという効果を有する。
According to the first aspect of the present invention, there is an effect that it is possible to change the contents of processing for coordinates according to a comparison result between coordinates on the medium and the range of the coordinates.
The invention of claim 2 has an effect that the calculation for comparing the coordinates on the medium with the range of the coordinates becomes easier than in the case where the present configuration is not provided.
The invention of claim 3 has an effect that the coordinates on the medium can be expressed using any part of the coordinates on the area including the medium.
The invention of claim 4 has an effect that an image capable of acquiring the coordinates on the medium and the range of the coordinates can be generated.
The invention of claim 5 has an effect that the calculation for comparing the coordinates on the medium with the range of the coordinates becomes easier than in the case where the present configuration is not provided.
The invention of claim 6 has the effect that the coordinates on the medium can be expressed using any part of the coordinates on the area including the medium.
According to the seventh aspect of the present invention, when the coordinates on the medium are expressed using the coordinates on the area including the medium, it is easier to determine the identification information of the medium than in the case where the present configuration is not provided. Has an effect.
The invention of claim 8 has the effect that the contents of the processing for the coordinates can be changed according to the comparison result between the coordinates on the medium and the range of the coordinates.
The invention of claim 9 has an effect that an image capable of acquiring the coordinates on the medium and the range of the coordinates can be generated.

以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、読み込む符号画像を構成する符号パターンについて説明する。
本実施の形態では、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(=)通りの情報を表現する。また、図2(b)は、図1(b)に示した9C3方式における全ての単位符号パターンを示している。9C3方式では、これらの単位符号パターンを用いて、84(=)通りの情報を表現する。
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 pattern value 32 is an upright synchronization pattern. In addition, the unit code pattern of pattern value 33 is rotated 90 degrees to the right, the synchronization pattern of unit value pattern 34 is rotated 180 degrees to the right, and the unit code pattern of pattern value 35 is rotated 270 degrees to the right. The synchronization pattern is used. In this case, 5 bits of information may be expressed by using the remainder obtained by removing these four types of synchronization patterns from the 36 types of unit code patterns as an information pattern. However, the method of assigning 36 types of unit code patterns to information patterns and synchronization patterns is not limited to this. For example, five sets of synchronization patterns that constitute one set of four types may be prepared, and the remaining 16 types of information patterns may represent 4-bit information.

尚、図示しないが、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 pattern value 7 and the second partial sequence “0001” is a unit code pattern of pattern value 1. As a result, the third partial sequence “0101” is arranged as a unit code pattern with a pattern value of 5, and the fourth partial sequence “1010” is arranged as a unit code pattern of a pattern value of 10, respectively.

また、このように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つの単位符号パターンで座標情報を表現している。   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.

ところで、このような符号化を行った場合、4周期のM系列は2047個のブロックに分割して格納される。そして、図6のようなレイアウトでは、同期パターンを配置したブロックが間に挟まれるので、4周期のM系列で2558個(≒2047個×5/4)のブロック分の長さをカバーすることになる。1つのブロックの一辺の長さは、0.508mm(600dpiで12ピクセル)なので、2558個のブロックの長さは1299.5mmである。つまり、1299.5mmの長さが符号化されることになる。A0サイズの長辺が1188.0mmであるので、本実施の形態では、A0サイズの用紙上の座標を符号化することになる。   By the way, when such encoding is performed, the M sequence of 4 periods is divided into 2047 blocks and stored. In the layout as shown in FIG. 6, since the blocks where the synchronization pattern is arranged are sandwiched between them, the length of 2558 (≈2047 × 5/4) blocks is covered with the M sequence of 4 cycles. become. Since the length of one side of one block is 0.508 mm (12 pixels at 600 dpi), the length of 2558 blocks is 1299.5 mm. That is, a length of 1299.5 mm is encoded. Since the long side of the A0 size is 1188.0 mm, in this embodiment, the coordinates on the A0 size paper are encoded.

このように、本実施の形態では、決まった長さの座標を符号化する。ところが、実際の印刷で指定される用紙サイズは様々である。従って、A0サイズの用紙上の座標の全てを用いるのではなく、その中から実際に指定された用紙サイズに必要な部分を切り出して用いる。このような場合において、読み込み画像に誤りがあると、次のような状況が生ずる。例えば、A4サイズの用紙を使用した場合において、復号により得られた座標がA4サイズ内に収まっていれば正しい座標であると推測できるが、復号により得られた座標がA4サイズ外に出ていてA0サイズ内に収まっているようなときは、誤りであることを検出できなくなってしまうのである。
図8に、このときの様子を示している。
図では、A0サイズの用紙上の座標からA4サイズに必要な部分を切り出して用いている。ここで、A4サイズの用紙上の点Pをペンデバイスで指示したとする。しかしながら、A4サイズの用紙外にある点Qが指示されたものと誤認識されている。
Thus, in the present embodiment, a coordinate having a predetermined length is encoded. However, the paper size specified in actual printing is various. Accordingly, not all the coordinates on the A0 size paper are used, but a portion necessary for the actually specified paper size is cut out from the coordinates. In such a case, if there is an error in the read image, the following situation occurs. For example, when A4 size paper is used, if the coordinates obtained by decoding are within the A4 size, it can be assumed that the coordinates are correct, but the coordinates obtained by decoding are out of the A4 size. If it is within the A0 size, it will not be possible to detect an error.
FIG. 8 shows the situation at this time.
In the figure, a portion necessary for the A4 size is cut out from the coordinates on the A0 size paper and used. Here, it is assumed that the point P on the A4 size paper is designated by the pen device. However, it is erroneously recognized that the point Q outside the A4 size sheet is designated.

そこで、本実施の形態では、読み込み画像に誤りがあっても復号を可能とするロバスト性の高い方法として、用紙のサイズに関する情報(以下、「サイズ情報」という)を利用する。即ち、サイズ情報を、識別情報や座標情報と共に符号化して埋め込むことで、正しい座標であるかの判定を可能とする。   Therefore, in the present embodiment, information on the paper size (hereinafter referred to as “size information”) is used as a highly robust method that enables decoding even if there is an error in the read image. That is, it is possible to determine whether the coordinates are correct by embedding the size information together with the identification information and the coordinate information.

次に、このサイズ情報について詳しく説明する。
図9に、A0サイズの用紙上の座標からなる座標空間を示す。このうち、(a)は、横向きに置かれたA0サイズの用紙上の座標からなる座標空間(以下、「A系列横座標空間」という)であり、(b)は、縦向きに置かれたA0サイズの用紙上の座標からなる座標空間(以下、「A系列縦座標空間」という)である。既に述べた通り、本実施の形態では、A0サイズの長辺の長さを一辺の長さとする正方形の範囲内の座標を符号化するので、このような座標空間を用意することが可能である。尚、(a),(b)のいずれにおいても、図の横方向にX軸をとり、右方向をX軸の正方向とし、図の縦方向にY軸をとり、下方向をY軸の正方向とする。また、原点(基準点)の一例として座標空間の左上点を採用し、座標を表す。そして、本実施の形態では、横向きの座標空間から座標を切り出すか、縦向きの座標空間から座標を切り出すかを1ビットで指定する。
Next, this size information will be described in detail.
FIG. 9 shows a coordinate space composed of coordinates on the A0 size paper. Among these, (a) is a coordinate space (hereinafter referred to as “A-sequence abscissa space”) composed of coordinates on an A0 size paper placed sideways, and (b) is placed vertically. This is a coordinate space (hereinafter referred to as “A series ordinate space”) composed of coordinates on A0 size paper. As already described, in the present embodiment, coordinates within a square range in which the length of the long side of A0 size is the length of one side are encoded, so that such a coordinate space can be prepared. . In both (a) and (b), the X axis is taken in the horizontal direction in the figure, the right direction is the positive direction of the X axis, the Y axis is taken in the vertical direction in the figure, and the lower direction is the Y axis. Positive direction. Further, the upper left point of the coordinate space is adopted as an example of the origin (reference point) to represent the coordinates. In this embodiment, one bit is used to specify whether the coordinates are cut out from the horizontal coordinate space or from the vertical coordinate space.

尚、後述するように、用紙サイズによって、A系列横座標空間から横向きで切り出され、A系列縦座標空間から縦向きで切り出されるものもあれば、A系列横座標空間から縦向きで切り出され、A系列縦座標空間から横向きで切り出されるものもある。つまり、例えばA系列横座標空間を指定したとしても、それが全ての用紙サイズについて横向きを意味することにはならない。しかしながら、一方の座標空間から縦向きの座標空間が切り出され、もう一方の座標空間から横向きの座標空間が切り出されることには変わりないので、この指定により、用紙の向き(縦又は横)を指定したことになる。   As will be described later, depending on the paper size, some are cut out from the A series abscissa space in the horizontal direction, and some are cut out from the A series ordinate space in the vertical direction. Some are cut out from the A series ordinate space in the horizontal direction. That is, for example, even if the A-series abscissa space is designated, it does not mean the landscape orientation for all paper sizes. However, since the vertical coordinate space is cut out from one coordinate space and the horizontal coordinate space is cut out from the other coordinate space, the paper orientation (vertical or horizontal) is specified by this specification. It will be done.

また、図では、A系列で座標を符号化できる最大サイズであるA0サイズの座標空間のみを示したが、これとは別に、B系列で座標を符号化できる最大サイズであるB1サイズの座標空間を用意してもよい。この座標空間としても、(a)のように横向きに置かれたB1サイズの座標空間(以下、「B系列横座標空間」という)と、(b)のように縦向きに置かれたB1サイズの座標空間(以下、「B系列縦座標空間」という)とがある。そして、本実施の形態では、A系列の座標空間から座標を切り出すか、B系列の座標空間から座標を切り出すかを1ビットで指定する。   In the figure, only the coordinate space of A0 size, which is the maximum size in which the coordinates can be encoded in the A series, is shown, but apart from this, the coordinate space of B1 size, which is the maximum size in which the coordinates can be encoded in the B series. May be prepared. As this coordinate space, a B1 size coordinate space (hereinafter referred to as “B series abscissa space”) placed horizontally as shown in (a) and a B1 size placed vertically as shown in (b). Coordinate space (hereinafter referred to as “B-sequence ordinate space”). In the present embodiment, it is designated by 1 bit whether the coordinates are cut out from the A series coordinate space or the B series coordinate space.

ここで、(a)に示すように、A系列横座標空間を2分割すると、縦向きA1サイズの座標が得られる。そして、同様に2分割していくと、横向きA2サイズ、縦向きA3サイズ、横向きA4サイズ、縦向きA5サイズ、横向きA6サイズ、縦向きA7サイズの各座標が得られる。また、(b)に示すように、A系列縦座標空間を2分割すると、横向きA1サイズの座標が得られる。そして、同様に2分割していくと、縦向きA2サイズ、横向きA3サイズ、縦向きA4サイズ、横向きA5サイズ、縦向きA6サイズ、横向きA7サイズの各座標が得られる。そこで、このA0〜A7まで8段階のいずれかを3ビットで指定する。同様に、B系列では、B1、B2、B3、B4、B5、B6、B7、B8(略名刺大)の8段階であり、このいずれかを3ビットで指定する。   Here, as shown in (a), when the A-sequence abscissa space is divided into two, coordinates in the vertical direction A1 size are obtained. Similarly, when the image is divided into two, the coordinates of the horizontal A2 size, the vertical A3 size, the horizontal A4 size, the vertical A5 size, the horizontal A6 size, and the vertical A7 size are obtained. Further, as shown in (b), when the A-sequence ordinate space is divided into two, a horizontal A1 size coordinate is obtained. Similarly, when the image is divided into two, the coordinates of the vertical A2 size, the horizontal A3 size, the vertical A4 size, the horizontal A5 size, the vertical A6 size, and the horizontal A7 size are obtained. Therefore, any one of 8 steps from A0 to A7 is designated by 3 bits. Similarly, in the B series, there are 8 stages of B1, B2, B3, B4, B5, B6, B7, and B8 (abbreviated business card size), and any of these is designated by 3 bits.

以上をまとめると、用紙の系列(A系列かB系列か)の指定に1ビット、用紙の判(A系列であれば0〜7のいずれか、B系列であれば1〜8のいずれか)の指定に3ビット、用紙の向き(縦か横か)の指定に1ビットが必要となる。即ち、サイズ情報としては、5ビットの情報を埋め込むことになる。
尚、本実施の形態では、媒体の横方向の長さと縦方向の長さを特定するための情報の一例として、サイズ情報を用いている。
To summarize the above, 1 bit is used for designating the paper series (A series or B series), and the paper size (0 to 7 for the A series, 1 to 8 for the B series). 3 bits are required for designating and 1 bit is required for designating the paper orientation (portrait or landscape). That is, 5-bit information is embedded as size information.
In the present embodiment, size information is used as an example of information for specifying the horizontal length and the vertical length of the medium.

また、本実施の形態では、A0サイズの座標空間から1枚の用紙に用いる座標空間のみを切り出すようにしてもよいが、複数枚の用紙に用いる座標空間を切り出すようにしてもよい。その場合、サイズ情報だけでなく、切り出し位置に関する情報(以下、「切り出し位置情報」という)も埋め込むことが必要となる。切り出しの最小単位はA7サイズなので、(a)の場合、切り出し位置は、縦方向に8点、横方向に16点存在する。つまり、縦方向の切り出し位置を3ビットで指定し、横方向の切り出し位置を4ビットで指定する。また、(b)の場合、切り出し位置は、縦方向に16点、横方向に8点存在する。つまり、縦方向の切り出し位置を4ビットで指定し、横方向の切り出し位置を3ビットで指定する。
いずれにしても、A0サイズを分割利用する場合は、切り出し位置の指定に7ビットが必要であり、切り出し位置情報及びサイズ情報として、12ビットの情報を埋め込むことになる。
In the present embodiment, only the coordinate space used for one sheet may be cut out from the A0 size coordinate space, but the coordinate space used for a plurality of sheets may be cut out. In that case, it is necessary to embed not only the size information but also information related to the cutout position (hereinafter referred to as “cutout position information”). Since the minimum unit of cutout is A7 size, in the case of (a), there are 8 cutout positions in the vertical direction and 16 cutouts in the horizontal direction. In other words, the vertical cutout position is designated by 3 bits, and the horizontal cutout position is designated by 4 bits. In the case of (b), there are 16 cutout positions in the vertical direction and 8 cutout positions in the horizontal direction. That is, the vertical cutout position is designated by 4 bits, and the horizontal cutout position is designated by 3 bits.
In any case, when the A0 size is divided and used, 7 bits are required to specify the cutout position, and 12-bit information is embedded as cutout position information and size information.

このように、埋め込む情報としては、サイズ情報だけであってもよいが、以下では、サイズ情報と切り出し位置情報の両方を埋め込む場合について説明する。即ち、本実施の形態では、座標情報の範囲を示す範囲情報の一例として、サイズ情報及び切り出し位置情報を用いる。   As described above, the information to be embedded may be only the size information. Hereinafter, a case where both the size information and the cutout position information are embedded will be described. That is, in this embodiment, size information and cutout position information are used as an example of range information indicating the range of coordinate information.

次いで、このような画像を生成する画像生成装置10について説明する。
図10は、画像生成装置10の構成例を示したブロック図である。
図示するように、画像生成装置10は、情報取得部11と、座標空間記憶部11aと、識別符号生成部12と、X座標符号生成部13と、Y座標符号生成部14と、符号配列生成部15と、パターン画像記憶部16と、符号画像生成部17とを備える。
Next, the image generation apparatus 10 that generates such an image will be described.
FIG. 10 is a block diagram illustrating a configuration example of the image generation apparatus 10.
As illustrated, the image generation apparatus 10 includes an information acquisition unit 11, a coordinate space storage unit 11a, an identification code generation unit 12, an X coordinate code generation unit 13, a Y coordinate code generation unit 14, and a code array generation. Unit 15, pattern image storage unit 16, and code image generation unit 17.

情報取得部11は、紙面又は紙面に印刷される文書の識別情報、及び、紙面上での座標情報を取得する。そして、前者を識別符号生成部12に出力し、後者のうち、X座標情報をX座標符号生成部13に、Y座標情報をY座標符号生成部14に出力する。また、印刷指示に応じてサイズ情報及び切り出し位置情報を取得し、これらを識別符号生成部12に出力する。本実施の形態では、座標情報を取得する座標情報取得手段の一例として、また、範囲情報を取得する範囲情報取得手段の一例として、情報取得部11を設けている。
座標空間記憶部11aは、情報取得部11によって参照される座標空間の情報を記憶する。具体的には、図9に示したA系列横座標空間及びA系列縦座標空間と、図示しないB系列横座標空間及びB系列縦座標空間とを記憶する。また、同じ種類の座標空間は複数記憶されており、個々の座標空間は、座標空間IDによって識別されるものとする。
The information acquisition unit 11 acquires the identification information of the paper or the document printed on the paper and the coordinate information on the paper. Then, the former is output to the identification code generation unit 12, and among the latter, the X coordinate information is output to the X coordinate code generation unit 13 and the Y coordinate information is output to the Y coordinate code generation unit 14. Also, size information and cutout position information are acquired in accordance with the print instruction, and these are output to the identification code generation unit 12. In the present embodiment, the information acquisition unit 11 is provided as an example of coordinate information acquisition means for acquiring coordinate information and as an example of range information acquisition means for acquiring range information.
The coordinate space storage unit 11 a stores information on the coordinate space referred to by the information acquisition unit 11. Specifically, the A series abscissa space and A series ordinate space shown in FIG. 9 and the B series abscissa space and B series ordinate space (not shown) are stored. A plurality of coordinate spaces of the same type are stored, and each coordinate space is identified by a coordinate space ID.

識別符号生成部12は、情報取得部11から取得した識別情報を符号化し、符号化された識別情報である識別符号を符号配列生成部15に出力する。この識別情報の符号化は、ブロック分割、RS符号化の処理を含む。
このうち、ブロック分割は、識別情報を構成するビット列を、RS符号化を行うために複数のブロックに分割する処理である。例えば、9C2方式で5ビットの情報を表現可能な情報パターンを用いる場合、60ビットの識別情報は、ブロック長が5ビットの12個のブロックに分割される。
また、RS符号化は、分割されたブロックに対してRS符号化を行い、誤り訂正のための冗長ブロックを付加する処理である。先の例において2ブロックの誤りを訂正可能なRS符号を採用したとすると、符号長は16ブロックとなる。
The identification code generation unit 12 encodes the identification information acquired from the information acquisition unit 11 and outputs the identification code that is the encoded identification information to the code array generation unit 15. The coding of the identification information includes block division and RS coding processing.
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 code generation unit 13 encodes X coordinate information. The Y coordinate code generation unit 14 encodes the Y coordinate information. And these output the coordinate code | cord | chord which is the encoded coordinate information to the code arrangement | sequence production | generation part 15. FIG. The encoding of the coordinate information includes M-sequence encoding and block division processing.
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 image generation apparatus 10 and read out when generating the image.
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次元の符号配列を参照し、各符号値に対応した単位符号パターンを選択して符号画像を生成する。本実施の形態では、座標情報と範囲情報とを表す画像を生成する生成手段の一例として、符号画像生成部17を設けている。
The code array generation unit 15 reads the identification code generated by the identification code generation unit 12, the coordinate code generated by the X coordinate code generation unit 13 and the Y coordinate code generation unit 14, and the identification code and the coordinate code. Are arranged on a two-dimensional plane to generate a two-dimensional code array. Here, the synchronization code is a code corresponding to the synchronization pattern.
The pattern image storage unit 16 stores, for example, a unit code pattern in the mCn system shown in FIG. Here, the pattern value is attached to the unit code pattern as described above, and each unit code pattern can be read using the pattern value as a key. In the present embodiment, the pattern image storage unit 16 may store at least unit code patterns in the mCn system corresponding to predetermined m and n.
The code image generation unit 17 refers to the two-dimensional code array generated by the code array generation unit 15 and selects a unit code pattern corresponding to each code value to generate a code image. In the present embodiment, the code image generation unit 17 is provided as an example of a generation unit that generates an image representing coordinate information and range information.

そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合には、紙面に対するペンデバイスによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。   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(図19参照)が、情報取得部11、識別符号生成部12、X座標符号生成部13、Y座標符号生成部14、符号配列生成部15、符号画像生成部17を実現するプログラムを、例えば、磁気ディスク装置93(図19参照)からメインメモリ92(図19参照)に読み込んで実行することにより、実現される。また、座標空間記憶部11a及びパターン画像記憶部16は、例えば、磁気ディスク装置93(図19参照)を用いて実現するとよい。更に、磁気ディスク装置93(図19参照)に記憶されるプログラムやデータは、CD等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。   These functions are realized by cooperation between software and hardware resources. Specifically, the CPU 91 (see FIG. 19) of the image generation apparatus 10 includes the information acquisition unit 11, the identification code generation unit 12, the X coordinate code generation unit 13, the Y coordinate code generation unit 14, the code array generation unit 15, and the code. For example, the program for realizing the image generation unit 17 is realized by reading the program from the magnetic disk device 93 (see FIG. 19) into the main memory 92 (see FIG. 19) and executing it. The coordinate space storage unit 11a and the pattern image storage unit 16 may be realized by using, for example, a magnetic disk device 93 (see FIG. 19). Furthermore, the program and data stored in the magnetic disk device 93 (see FIG. 19) may be loaded from a recording medium such as a CD, or may be downloaded via communication means such as the Internet.

次いで、この画像生成装置10の動作を説明する。
図11は、画像生成装置10の動作例を示したフローチャートである。
印刷指示があると、画像生成装置10では、情報取得部11が、印刷指示に含まれるサイズ情報を取得する(ステップ101)。
次に、情報取得部11は、座標空間記憶部11aに記憶されたA系列横座標空間、A系列縦座標空間、B系列横座標空間、B系列縦座標空間の中から、ステップ101で取得したサイズ情報に対する座標空間を取り出すために用いる座標空間を選択する(ステップ102)。例えば、サイズ情報として、A3サイズの縦向きが指定されていれば、A系列横座標空間が選択され、A4サイズの縦向きが指定されていれば、A系列縦座標空間が選択される。
その後、情報取得部11は、ステップ102で選択した座標空間をカウントするためのカウンタZに「1」を代入する(ステップ103)。そして、Z番目の座標空間において、ステップ101で取得したサイズ情報で必要な座標を取り出すのに十分な空き領域を探し(ステップ104)、空き領域があったかどうかを判定する(ステップ105)。
Next, the operation of the image generation apparatus 10 will be described.
FIG. 11 is a flowchart illustrating an operation example of the image generation apparatus 10.
When there is a print instruction, in the image generation apparatus 10, the information acquisition unit 11 acquires size information included in the print instruction (step 101).
Next, the information acquisition unit 11 acquired in step 101 from the A series abscissa space, the A series ordinate space, the B series abscissa space, and the B series ordinate space stored in the coordinate space storage unit 11a. A coordinate space used to extract a coordinate space for the size information is selected (step 102). For example, if the A3 size vertical orientation is specified as the size information, the A series abscissa space is selected, and if the A4 size vertical orientation is specified, the A series ordinate space is selected.
Thereafter, the information acquisition unit 11 assigns “1” to the counter Z for counting the coordinate space selected in Step 102 (Step 103). Then, in the Zth coordinate space, a search is made for a free area sufficient to extract the necessary coordinates based on the size information acquired in step 101 (step 104), and it is determined whether there is a free area (step 105).

ここで、空き領域がなければ、Zに「1」を加算し(ステップ106)、ステップ104、105の処理を、空き領域が見つかるまで繰り返す。
一方、空き領域があれば、識別符号生成部12に対して符号化すべき情報を出力する(ステップ107)。具体的には、第一に、ステップ101で取得したサイズ情報を出力する。第二に、ステップ105で空き領域があると判定された座標空間に関連付けられた座標空間IDを識別情報として出力する。第三に、その座標空間から今回使用する座標を切り出した位置を特定する切り出し位置情報を出力する。また、情報取得部11は、切り出した座標情報のうち、X座標情報をX座標符号生成部13に、Y座標情報をY座標符号生成部14にそれぞれ出力する(ステップ108)。
If there is no free area, “1” is added to Z (step 106), and the processes of steps 104 and 105 are repeated until a free area is found.
On the other hand, if there is an empty area, information to be encoded is output to the identification code generation unit 12 (step 107). Specifically, first, the size information acquired in step 101 is output. Secondly, the coordinate space ID associated with the coordinate space determined to have a free area in step 105 is output as identification information. Thirdly, cutout position information for specifying the position where the coordinates used this time are cut out from the coordinate space is output. Further, the information acquisition unit 11 outputs X coordinate information to the X coordinate code generation unit 13 and Y coordinate information to the Y coordinate code generation unit 14 among the cut out coordinate information (step 108).

次に、紙面に形成された符号画像を読み取って処理する画像処理装置20について説明する。
図12は、画像処理装置20の構成例を示したブロック図である。
図示するように、画像処理装置20は、画像読取部21と、ドット配列生成部22と、ブロック検出部23と、同期符号検出部24と、回転判定部25と、符号配列回転部26とを備える。また、識別符号検出部30と、識別符号復号部32と、識別符号誤り検出部33と、識別符号誤り訂正部34とを備える。更に、X座標符号検出部40と、X座標符号復号部42と、X座標符号誤り検出部43と、X座標符号誤り訂正部44と、Y座標符号検出部45と、Y座標符号復号部47と、Y座標符号誤り検出部48と、Y座標符号誤り訂正部49と、情報出力部50とを備える。
Next, the image processing apparatus 20 that reads and processes the code image formed on the paper surface will be described.
FIG. 12 is a block diagram illustrating a configuration example of the image processing apparatus 20.
As illustrated, the image processing apparatus 20 includes an image reading unit 21, a dot array generation unit 22, a block detection unit 23, a synchronization code detection unit 24, a rotation determination unit 25, and a code array rotation unit 26. Prepare. In addition, an identification code detection unit 30, an identification code decoding unit 32, an identification code error detection unit 33, and an identification code error correction unit 34 are provided. Furthermore, an X coordinate code detection unit 40, an X coordinate code decoding unit 42, an X coordinate code error detection unit 43, an X coordinate code error correction unit 44, a Y coordinate code detection unit 45, and a Y coordinate code decoding unit 47. A Y coordinate code error detection unit 48, a Y coordinate code error correction unit 49, and an information output unit 50.

画像読取部21は、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を用いて、紙面に印刷された符号画像を読み取る。
ドット配列生成部22は、読み取った符号画像からドットを検出し、ドットの位置を参照して、ドット配列を生成する。尚、符号画像からのドット検出の前処理として、読み取った画像に含まれるノイズを除去するための処理も行う。ここで、ノイズには、例えば、撮像素子感度のばらつきや電子回路により発生するノイズがある。ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用するとよい。また、ドットの検出は、次のように行う。即ち、まず、2値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、2値化された個々の画像位置からドットの位置を検出する。その際、2値化された画像にノイズ成分が多数含まれる場合があるため、2値化された画像の面積や形状によりドットの判定を行うフィルタ処理を組み合わせる必要がある。その後、ドット配列の生成は、2次元の配列上で、例えば、ドットがある位置を「1」、ドットがない位置を「0」というように、画像として検出したドットをデジタルデータに置き換えることにより行う。本実施の形態では、読み取られた画像を取得する取得手段の一例として、ドット配列生成部22を備えている。
The image reading unit 21 reads a code image printed on a paper surface using an imaging element such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS).
The dot array generation unit 22 detects dots from the read code image, and generates a dot array with reference to the dot positions. Note that, as preprocessing for dot detection from the code image, processing for removing noise included in the read image is also performed. Here, the noise includes, for example, variations in image sensor sensitivity and noise generated by an electronic circuit. The type of noise removal processing should match the characteristics of the imaging system, but sharpening processing such as blurring processing and unsharp masking may be applied. In addition, dot detection is performed as follows. That is, first, a dot image portion and other background image portions are separated by binarization processing, and a dot position is detected from each binarized image position. At that time, since there are cases where a lot of noise components are included in the binarized image, it is necessary to combine filter processing for determining dots based on the area and shape of the binarized image. Thereafter, the dot array is generated by replacing the dot detected as an image with digital data on the two-dimensional array, for example, “1” for the position where the dot is and “0” for the position where there is no dot. Do. In the present embodiment, a dot array generation unit 22 is provided as an example of an acquisition unit that acquires a read image.

ブロック検出部23は、ドット配列上で、符号ブロック内の単位符号パターンに対応するブロックを検出する。即ち、単位符号パターンと同じ大きさをもつ矩形のブロック区切りをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいブロック区切り位置とし、各ブロック内のパターン値を格納した符号配列を生成する。   The block detection unit 23 detects a block corresponding to the unit code pattern in the code block on the dot array. In other words, a rectangular block delimiter having the same size as the unit code pattern is appropriately moved on the dot array, the position where the number of dots in the block is equal is the correct block delimiter position, and the code that stores the pattern value in each block Create an array.

同期符号検出部24は、ドット配列から検出された各単位符号パターンの種類を参照して、同期符号を検出する。
回転判定部25は、検出した同期符号に基づいて、画像の回転を判定する。例えば、正方形の単位符号パターンを用いた場合、90度単位で回転している可能性がある。そこで、検出した同期符号が4種類の同期パターンのいずれに対応しているかによって、その向きを検出する。また、長方形の単位符号パターンを用いた場合、180度単位で回転している可能性がある。そこで、検出された同期符号が2種類の同期パターンのいずれに対応しているかによって、その向きを検出する。
符号配列回転部26は、回転判定部25で検出された回転角度だけ符号配列を回転させて、符号配列を正しい向きに設定する。
The synchronization code detector 24 refers to the type of each unit code pattern detected from the dot array and detects the synchronization code.
The rotation determination unit 25 determines image rotation based on the detected synchronization code. For example, when a square unit code pattern is used, there is a possibility of rotating in units of 90 degrees. Therefore, the direction is detected depending on which of the four types of synchronization patterns the detected synchronization code corresponds to. Further, when a rectangular unit code pattern is used, there is a possibility that the unit code pattern is rotated by 180 degrees. Therefore, the direction is detected depending on which of the two types of synchronization patterns the detected synchronization code corresponds to.
The code array rotation unit 26 rotates the code array by the rotation angle detected by the rotation determination unit 25 and sets the code array in the correct direction.

識別符号検出部30は、角度が補正された符号配列から、同期符号の位置を基準にして識別符号を検出する。また、このとき、識別符号を正しい符号順に並べ替える処理も行う。
識別符号復号部32は、図10を参照して説明したRS符号の符号化処理で用いたパラメータ(ブロック数等)と同じパラメータを用いて識別符号を復号し、識別情報を出力する。本実施の形態では、範囲情報を検出する範囲情報検出手段の一例として、識別符号復号部32を設けている。
識別符号誤り検出部33は、復号された識別符号の誤りを検出し、識別符号誤り訂正部34は、検出した誤りが訂正可能な誤りである場合に、その誤りを訂正する。
The identification code detection unit 30 detects the identification code from the code array whose angle is corrected with reference to the position of the synchronization code. At this time, a process of rearranging the identification codes in the correct code order is also performed.
The identification code decoding unit 32 decodes the identification code using the same parameters (such as the number of blocks) used in the RS code encoding process described with reference to FIG. 10, and outputs identification information. In the present embodiment, an identification code decoding unit 32 is provided as an example of range information detection means for detecting range information.
The identification code error detection unit 33 detects an error of the decoded identification code, and the identification code error correction unit 34 corrects the error when the detected error is a correctable error.

X座標符号検出部40は、角度が補正された符号配列から、同期符号の位置を基準にしてX座標符号を検出する。また、このとき、X座標符号から同期符号を取り除く処理も行う。
X座標符号復号部42は、検出されたX座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をX座標情報として出力する。
X座標符号誤り検出部43は、復号されたX座標符号の誤りを検出し、X座標符号誤り訂正部44は、検出した誤りが訂正可能な誤りである場合に、その誤りを訂正する。
The X coordinate code detection unit 40 detects the X coordinate code from the code array whose angle is corrected with reference to the position of the synchronization code. At this time, a process of removing the synchronization code from the X coordinate code is also performed.
The X coordinate code decoding unit 42 extracts the M series partial sequence from the detected X coordinate code, refers to the position of this partial sequence in the M sequence used for image generation, and corrects this position with the shift amount of the code block The obtained value is output as X coordinate information.
The X coordinate code error detection unit 43 detects an error in the decoded X coordinate code, and the X coordinate code error correction unit 44 corrects the error when the detected error is a correctable error.

Y座標符号検出部45は、角度が補正された符号配列から、同期符号の位置を基準にしてY座標符号を検出する。また、このとき、Y座標符号から同期符号を取り除く処理も行う。
Y座標符号復号部47は、検出されたY座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をY座標情報として出力する。
Y座標符号誤り検出部48は、復号されたY座標符号の誤りを検出し、Y座標符号誤り訂正部49は、検出した誤りが訂正可能な誤りである場合に、その誤りを訂正する。
The Y coordinate code detection unit 45 detects the Y coordinate code from the code array whose angle is corrected with reference to the position of the synchronization code. At this time, a process of removing the synchronization code from the Y coordinate code is also performed.
The Y coordinate code decoding unit 47 extracts the M series partial sequence from the detected Y coordinate code, refers to the position of this partial sequence in the M sequence used for image generation, and corrects this position with the shift amount of the code block. The obtained value is output as Y coordinate information.
The Y coordinate code error detection unit 48 detects an error of the decoded Y coordinate code, and the Y coordinate code error correction unit 49 corrects the error when the detected error is a correctable error.

尚、本実施の形態では、座標情報を検出する検出手段の一例として、X座標符号検出部40及びY座標符号検出部45を設けている。また、座標情報に対する処理内容を決定する決定手段の一例として、X座標符号復号部42及びY座標符号復号部47を設けている。   In this embodiment, an X coordinate code detection unit 40 and a Y coordinate code detection unit 45 are provided as an example of detection means for detecting coordinate information. In addition, an X coordinate code decoding unit 42 and a Y coordinate code decoding unit 47 are provided as an example of a determination unit that determines the processing content for the coordinate information.

情報出力部50は、識別符号復号部32、X座標符号復号部42、Y座標符号復号部47からそれぞれ取得した識別情報、X座標情報、Y座標情報を出力する。   The information output unit 50 outputs the identification information, the X coordinate information, and the Y coordinate information acquired from the identification code decoding unit 32, the X coordinate code decoding unit 42, and the Y coordinate code decoding unit 47, respectively.

尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置20のCPU91(図19参照)が、ドット配列生成部22、ブロック検出部23、同期符号検出部24、回転判定部25、符号配列回転部26、識別符号検出部30、識別符号復号部32、識別符号誤り検出部33、識別符号誤り訂正部34、X座標符号検出部40、X座標符号復号部42、X座標符号誤り検出部43、X座標符号誤り訂正部44、Y座標符号検出部45、Y座標符号復号部47、Y座標符号誤り検出部48、Y座標符号誤り訂正部49、情報出力部50を実現するプログラムを、例えば、磁気ディスク装置93(図19参照)からメインメモリ92(図19参照)に読み込んで実行することにより、実現される。また、磁気ディスク装置93(図19参照)に記憶されるプログラムやデータは、CD等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。   These functions are realized by cooperation between software and hardware resources. Specifically, the CPU 91 (see FIG. 19) of the image processing apparatus 20 performs the dot array generation unit 22, the block detection unit 23, the synchronization code detection unit 24, the rotation determination unit 25, the code array rotation unit 26, and the identification code detection unit. 30, identification code decoding unit 32, identification code error detection unit 33, identification code error correction unit 34, X coordinate code detection unit 40, X coordinate code decoding unit 42, X coordinate code error detection unit 43, X coordinate code error correction unit 44, a Y-coordinate code detection unit 45, a Y-coordinate code decoding unit 47, a Y-coordinate code error detection unit 48, a Y-coordinate code error correction unit 49, and an information output unit 50, for example, a magnetic disk device 93 (see FIG. 19) to the main memory 92 (see FIG. 19) and executed. Further, the program and data stored in the magnetic disk device 93 (see FIG. 19) may be loaded from a recording medium such as a CD, or may be downloaded via communication means such as the Internet.

次いで、この画像処理装置20の動作の概略を説明する。
まず、画像読取部21が、符号画像が印刷された媒体から、所定の大きさの領域の符号画像を読み取る。
次に、ドット配列生成部22が、ドットを検出した位置に「1」を、ドットを検出しなかった位置に「0」を設定したドット配列を生成する。
その後、ブロック検出部23が、このドット配列にブロック区切りを重ねて、ブロックの境界を検出する。ここで、ブロックとは、図5を参照して説明したように、埋め込まれた情報を復号する際に必要となる最小の単位である。本実施の形態では、符号ブロックとして5ブロック×5ブロックのものを想定している。従って、ブロック区切りとしても、5ブロック×5ブロックの大きさのものを用いる。
Next, an outline of the operation of the image processing apparatus 20 will be described.
First, the image reading unit 21 reads a code image of an area having a predetermined size from the medium on which the code image is printed.
Next, the dot array generation unit 22 generates a dot array in which “1” is set at a position where a dot is detected and “0” is set at a position where a dot is not detected.
Thereafter, the block detection unit 23 detects block boundaries by superimposing block delimiters on this dot array. Here, as described with reference to FIG. 5, the block is a minimum unit necessary for decoding the embedded information. In the present embodiment, a code block of 5 blocks × 5 blocks is assumed. Therefore, the block size is 5 blocks × 5 blocks.

図13は、ブロック区切りを移動させてブロックを検出する際の処理を具体的に示した図である。ここでは、9C2方式で符号化が行われたことが分かっており、9C2方式で復号する場合について示している。
まず、ブロック検出部23は、ドット配列生成部22からドット配列を取得する。ここで取得するドット配列のサイズは予め設定されており、(復号に必要なブロック数×ブロックの一辺のドット数+ブロックの一辺のドット数−1)である。ところが、このドット配列は、画像の任意に選択された領域に対応しているので、ブロック区切りの位置は分からない。そこで、初めに、ドット配列の端を基準にブロック分割を行う。この例では、m=9なので、3ドット×3ドットの大きさのブロックからなるブロック区切りを重ねる。次に、各ブロック内のドットを数える。この例では、n=2なので、各ブロック内に2ドットずつ存在する場合のブロック区切りの位置が正しい区切り位置であるが、この位置ではドット数がばらついており、正しくないことが分かる。そこで、ブロック区切りをずらしてブロック内のドット数を数える。即ち、右方向への開始位置、1ドット分移動した位置、2ドット分移動した位置について同様の動作を行う。また、これらの位置のそれぞれに対し、下方向への開始位置、1ドット移動した位置、2ドット移動した位置についても同様の動作を行う。その結果、右方向に1ドット移動し、下方向に2ドット移動した位置において、全てのブロック内のドット数が「2」となる。従って、この位置を正しい区切り位置とする。
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 block detection unit 23 acquires a dot array from the dot array generation unit 22. The size of the dot arrangement acquired here is preset, and is (number of blocks necessary for decoding × number of dots on one side of block + number of dots on one side of block−1) 2 . However, since this dot arrangement corresponds to an arbitrarily selected area of the image, the position of the block delimiter is unknown. Therefore, first, block division is performed with reference to the end of the dot array. In this example, since m = 9, block delimiters composed of blocks each having a size of 3 dots × 3 dots are overlapped. Next, the dots in each block are counted. In this example, since n = 2, the position of the block delimiter when there are two dots in each block is the correct delimiter position, but it can be seen that the number of dots varies at this position and is not correct. Therefore, the number of dots in the block is counted by shifting the block delimiter. That is, the same operation is performed for the start position in the right direction, the position moved by one dot, and the position moved by two dots. In addition, the same operation is performed for each of these positions with respect to the start position in the downward direction, the position moved by 1 dot, and the position moved by 2 dots. As a result, the number of dots in all the blocks is “2” at a position where the dot has moved one dot to the right and moved two dots downward. Therefore, this position is set as a correct separation position.

その後、同期符号検出部24、識別符号検出部30、X座標符号検出部40、Y座標符号検出部45等が、各ブロック内のドット配置を参照することにより、同期符号、識別符号、X座標符号、Y座標符号を検出することになる。   Thereafter, the synchronization code detection unit 24, the identification code detection unit 30, the X coordinate code detection unit 40, the Y coordinate code detection unit 45, and the like refer to the dot arrangement in each block, so that the synchronization code, the identification code, the X coordinate The code and the Y coordinate code are detected.

次いで、画像処理装置20の動作について更に詳しく説明する。尚、この動作の説明では、9C2方式の単位符号パターンが図5に示したレイアウトで配置されていることを前提とする。
まず、ブロック検出部23の動作について説明する。
図14は、ブロック検出部23の動作例を示したフローチャートである。
まず、ブロック検出部23は、ドット配列生成部22からドット配列を取得する(ステップ201)。このドット配列の大きさは、上述したように、(復号に必要なブロック数×ブロックの一辺のドット数+ブロックの一辺のドット数−1)である。本実施の形態では、復号に必要なブロック数は5×5であり、ブロックの一辺のドット数が3であるので、17×17のドット配列を取得する。
Next, the operation of the image processing apparatus 20 will be described in more detail. In the description of this operation, it is assumed that the unit code pattern of the 9C2 system is arranged in the layout shown in FIG.
First, the operation of the block detector 23 will be described.
FIG. 14 is a flowchart illustrating an operation example of the block detection unit 23.
First, the block detector 23 acquires a dot array from the dot array generator 22 (step 201). The size of this dot array is (number of blocks necessary for decoding × number of dots on one side of block + number of dots on one side of block−1) 2 as described above. In this embodiment, the number of blocks necessary for decoding is 5 × 5, and the number of dots on one side of the block is 3, so a 17 × 17 dot array is acquired.

次に、取得したドット配列に、ブロック区切りを重ね合わせる(ステップ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 block detector 23 moves the block delimiter I in the X direction and J in the Y direction (step 204). Since I and J are “0” in the initial state, the block break does not move. Then, the number of dots included in each block of the block delimiter is counted, and the number of blocks whose dot number is “2” is counted. The counted number of blocks is stored in IB [I, J] (step 205). In I and J of IB [I, J], values of I and J indicating the movement amount of the block break are recorded, respectively.

次に、ブロック検出部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 block detection unit 23 compares IB [I, J] with MaxBN (step 206). Since MaxBN has an initial value “0”, in the first comparison, IB [I, J] is larger than MaxBN. In this case, the value of IB [I, J] is substituted for MaxBN, the value of MX is substituted for I, and the value of MY is substituted for J (step 207). When IB [I, J] is MaxBN or less, the values of MaxBN, MX, and MY are left as they are.

その後、ブロック検出部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 block detection unit 23 determines whether I = 2 (step 208).
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 greater 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 I at that time is set to MX. , J is substituted for 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 block detection unit 23 compares the stored MaxBN with the threshold value TB (step 212). The threshold value TB is a threshold value for determining whether the number of blocks having a dot number of “2” is such that decoding is possible.
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 block detection unit 23 outputs MX and MY and the code array PA [X, Y] to the synchronous code detection unit 24 (step 214).
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の動作について説明する。
図15は、同期符号検出部24の動作例を示したフローチャートである。
まず、同期符号検出部24は、ブロック検出部23からMX、MYと、符号配列PA[X,Y]とを取得する(ステップ251)。
次に、同期符号検出部24は、K、Lに「1」を代入する(ステップ252)。尚、KはX方向のブロック数を示すカウンタであり、LはY方向のブロック数を示すカウンタである。
Next, the operation of the synchronization code detection unit 24 will be described.
FIG. 15 is a flowchart showing an operation example of the synchronization code detection unit 24.
First, the synchronization code detection unit 24 acquires MX and MY and the code array PA [X, Y] from the block detection unit 23 (step 251).
Next, the synchronous code detection unit 24 substitutes “1” for K and L (step 252). K is a counter indicating the number of blocks in the X direction, and L is a counter indicating the number of blocks in the Y direction.

次に、同期符号検出部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)。
Next, the synchronization code detection unit 24 determines whether the pattern value of PA [K, L] is 32 (step 253).
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).

次に、同期符号検出部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)。
Next, the synchronization code detection unit 24 determines whether the pattern value of PA [K, L] is 33 (step 255).
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 pattern value 33 is an image obtained by rotating the unit code pattern of the pattern value 32 by 90 degrees in the right direction, so that the image is erected by rotating 90 degrees in the reverse direction. Yes. At this time, all pattern values in the code array PA [X, Y] are converted into pattern values when rotated 90 degrees to the left.
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).

次に、同期符号検出部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)。
Next, the synchronization code detection unit 24 determines whether or not the pattern value of PA [K, L] is 34 (step 258).
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 pattern value 34 is an image obtained by rotating the unit code pattern of the pattern value 32 by 180 degrees, the unit code pattern of the pattern value 34 is rotated 180 degrees and the image is erected. I am letting. At this time, all the pattern values in the code array PA [X, Y] are converted into pattern values when rotated 180 degrees.
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).

次に、同期符号検出部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)。
Next, the synchronization code detection unit 24 determines whether or not the pattern value of PA [K, L] is 35 (step 261).
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 pattern value 35 is an image obtained by rotating the unit code pattern of the pattern value 32 to the right by 270 degrees, it is rotated 270 degrees in the reverse direction to erect the image. . At this time, all the pattern values in the code array PA [X, Y] are converted into pattern values when rotated 270 degrees in the left direction.
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).

そして、ステップ254、257、260、263で、SX、SY、ShiftX、ShiftYに値が代入された場合、同期符号検出部24は、PA[X,Y]とこれらの値を識別符号検出部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 values are assigned to SX, SY, ShiftX, and ShiftY in steps 254, 257, 260, and 263, the synchronization code detection unit 24 converts PA [X, Y] and these values into the identification code detection unit 30. The X coordinate code detection unit 40 and the Y coordinate code detection unit 45 are output (step 264).
If PA [K, L] is not any of the pattern values 32-35, the synchronization code detector 24 determines whether K = 5 (step 265). If K = 5 is not satisfied, “1” is added to K (step 266), and the process returns to step 253. If K = 5, it is determined whether L = 5 (step 267). If L = 5 is not satisfied, “1” is substituted for K, “1” is added to L (step 268), and the process returns to step 253. That is, the processing of steps 253 to 264 is repeated while changing the values of K and L until a block having pattern values of 32 to 35 is detected. If a block having pattern values of 32 to 35 cannot be detected even when K = 5 and L = 5, an undecodable determination signal is output (step 269).

尚、ステップ253、255、258、261の処理は、同期符号検出部24による制御の下、回転判定部25が行うようにするとよい。また、ステップ254、256、257、259、260、262、263の処理は、同期符号検出部24による制御の下、符号配列回転部26が行うようにするとよい。   Note that the processing of steps 253, 255, 258, and 261 may be performed by the rotation determination unit 25 under the control of the synchronization code detection unit 24. Further, the processing of steps 254, 256, 257, 259, 260, 262, and 263 may be performed by the code array rotation unit 26 under the control of the synchronization code detection unit 24.

次に、識別符号検出部30及び識別符号復号部32の動作について説明する。
図16は、識別符号検出部30及び識別符号復号部32の動作例を示したフローチャートである。
まず、識別符号検出部30は、同期符号検出部24から符号配列PA[X,Y]、SX、SYを取得する(ステップ301)。
次に、識別符号検出部30は、識別符号配列IA[X,Y]の全ての要素を「99」で初期化する(ステップ302)。尚、この「99」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する(ステップ303)。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。
Next, operations of the identification code detection unit 30 and the identification code decoding unit 32 will be described.
FIG. 16 is a flowchart showing an operation example of the identification code detection unit 30 and the identification code decoding unit 32.
First, the identification code detection unit 30 acquires the code arrays PA [X, Y], SX, and SY from the synchronization code detection unit 24 (step 301).
Next, the identification code detection unit 30 initializes all elements of the identification code array IA [X, Y] with “99” (step 302). The “99” is a number that is not used as a pattern value. Then, “1” is substituted into counters IX and IY for identifying each block in the code block (step 303). Here, IX is a counter indicating the number of blocks in the X direction, and IY is a counter indicating the number of blocks in the Y direction.

また、識別符号検出部30は、IY−SYが「5」で割り切れるかどうかを判定する(ステップ304)。即ち、IYで特定されるブロックに同期符号が配置されているかどうかを判定する。
ここで、IY−SYが「5」で割り切れた場合、つまり、このブロックに同期符号が配置されている場合は、識別符号を取り出す対象ではないため、IYに「1」を加算し(ステップ305)、ステップ304へ進む。
一方、IY−SYが「5」で割り切れなかった場合、つまり、このブロックに同期符号が配置されていない場合は、IX−SXが「5」で割り切れるかどうかを判定する(ステップ306)。即ち、IXで特定されるブロックに同期符号が配置されているかどうかを判定する。
The identification code detection unit 30 determines whether IY-SY is divisible by “5” (step 304). That is, it is determined whether or not the synchronization code is arranged in the block specified by IY.
Here, when IY-SY is divisible by “5”, that is, when a synchronous code is arranged in this block, since the identification code is not extracted, “1” is added to IY (step 305). ), Go to step 304.
On the other hand, if IY-SY is not divisible by “5”, that is, if no synchronization code is arranged in this block, it is determined whether IX-SX is divisible by “5” (step 306). That is, it is determined whether or not the synchronization code is arranged in the block specified by IX.

ここで、IX−SXが「5」で割り切れた場合、つまり、このブロックに同期符号が配置されている場合は、識別符号を取り出す対象ではないため、IXに「1」を加算し(ステップ307)、ステップ306へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、このブロックに同期符号が配置されていない場合、識別符号検出部30は、IA[(IX−SX)mod5,(IY−SY)mod5]にPA[IX,IY]を代入する(ステップ308)。
Here, when IX-SX is divisible by “5”, that is, when a synchronization code is arranged in this block, since the identification code is not extracted, “1” is added to IX (step 307). ), Go to Step 306.
On the other hand, when IX-SX is not divisible by “5”, that is, when no synchronization code is arranged in this block, the identification code detection unit 30 performs IA [(IX-SX) mod5, (IY-SY) mod [5] is substituted for PA [IX, IY] (step 308).

そして、IX=5であるかどうかを判定する(ステップ309)。
ここで、IX=5でない場合には、IXに「1」を加算して(ステップ307)、ステップ306〜308の処理をIX=5となるまで繰り返し行う。また、IX=5となると、次に、IY=5であるかどうかを判定する(ステップ310)。IY=5でない場合には、IXに「1」を代入し(ステップ311)、IYに「1」を加算して(ステップ305)、ステップ304〜309の処理をIY=5となるまで繰り返し行う。また、IY=5となると、識別符号復号部32の処理に移る。
Then, it is determined whether or not IX = 5 (step 309).
If IX = 5 is not satisfied, “1” is added to IX (step 307), and the processing of steps 306 to 308 is repeated until IX = 5. When IX = 5, it is next determined whether IY = 5 (step 310). If IY = 5 is not satisfied, “1” is substituted for IX (step 311), “1” is added to IY (step 305), and the processing of steps 304 to 309 is repeated until IY = 5. . When IY = 5, the process proceeds to the identification code decoding unit 32.

即ち、識別符号復号部32は、IA[X,Y]から識別情報、サイズ情報、切り出し位置情報を復号し、識別情報をDIに、サイズ情報及び切り出し位置情報をDSに代入する(ステップ312)。
また、DSから、用紙上の座標のX方向の最小値W1及び最大値W2と、Y方向の最小値H1及び最大値H2とを算出する(ステップ313)。具体的には、まず、DSから、用紙サイズ及び用紙の向きで特定される横方向の長さWと、縦方向の長さHとを取得する。例えば、用紙サイズがA4で用紙の向きが縦であれば、W=210mm、H=297mmとなる。次に、DSから、座標空間からの切り出し位置(CX,CY)を取得する。尚、ここでは、切り出し位置を、切り出した座標空間の左上の点の座標で表すものとする。例えば、用紙サイズがA4で用紙の向きが縦であれば、図9の(b)の座標空間を使用したことが分かる。そこで、切り出された座標空間が横方向にBX個目、縦方向にBY個目の区画であるとすると、最小の切り出し単位であるA7サイズの横方向の長さが105mm、縦方向の長さが74mmなので、CX=(BX−1)×105、CY=(BY−1)×74となる。そして、最後に、W1、W2、H1、H2を、W1=CX、W2=CX+W、H1=CY、H2=CY+Hにより求める。
その後、ここで求めたW1、W2、H1、H2は、X座標符号復号部42及びY座標符号復号部47に出力される。
That is, the identification code decoding unit 32 decodes identification information, size information, and cutout position information from IA [X, Y], and substitutes the identification information into DI and the size information and cutout position information into DS (step 312). .
Further, the minimum value W1 and maximum value W2 in the X direction of coordinates on the paper and the minimum value H1 and maximum value H2 in the Y direction are calculated from the DS (step 313). Specifically, first, the horizontal length W and the vertical length H specified by the paper size and the paper orientation are acquired from the DS. For example, if the paper size is A4 and the paper orientation is vertical, W = 210 mm and H = 297 mm. Next, the cut-out position (CX, CY) from the coordinate space is acquired from the DS. Here, the cutout position is represented by the coordinates of the upper left point of the cutout coordinate space. For example, if the paper size is A4 and the paper orientation is vertical, it can be seen that the coordinate space of FIG. 9B is used. Therefore, if the cut out coordinate space is the BX section in the horizontal direction and the BY section in the vertical direction, the length in the horizontal direction of the A7 size, which is the minimum clipping unit, is 105 mm, and the length in the vertical direction. Is 74 mm, CX = (BX−1) × 105 and CY = (BY−1) × 74. Finally, W1, W2, H1, and H2 are obtained by W1 = CX, W2 = CX + W, H1 = CY, and H2 = CY + H.
Thereafter, W 1, W 2, H 1, and H 2 obtained here are output to the X coordinate code decoding unit 42 and the Y coordinate code decoding unit 47.

次に、X座標符号検出部40及びX座標符号復号部42の動作について説明する。
図17は、X座標符号検出部40及びX座標符号復号部42の動作例を示したフローチャートである。
まず、X座標符号検出部40は、同期符号検出部24から符号配列PA[X,Y]、SX、SYを取得する(ステップ401)。
次に、X座標符号検出部40は、X座標符号配列XA[X]の全ての要素を「99」で初期化する(ステップ402)。尚、この「99」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。更に、X座標符号検出部40は、X座標符号配列における各要素を識別するためのカウンタKXにも「1」を代入する(ステップ403)。
Next, operations of the X coordinate code detection unit 40 and the X coordinate code decoding unit 42 will be described.
FIG. 17 is a flowchart showing an operation example of the X coordinate code detection unit 40 and the X coordinate code decoding unit 42.
First, the X coordinate code detection unit 40 acquires the code arrays PA [X, Y], SX, and SY from the synchronization code detection unit 24 (step 401).
Next, the X coordinate code detection unit 40 initializes all elements of the X coordinate code array XA [X] with “99” (step 402). The “99” is a number that is not used as a pattern value. Then, “1” is substituted into counters IX and IY for identifying each block in the code block. Here, IX is a counter indicating the number of blocks in the X direction, and IY is a counter indicating the number of blocks in the Y direction. Furthermore, the X coordinate code detection unit 40 substitutes “1” into a counter KX for identifying each element in the X coordinate code array (step 403).

また、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 code detection unit 40 determines whether IY-SY is divisible by “5” (step 404). That is, it is determined whether or not the synchronization code is arranged in the block specified by IY.
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 code detection unit 40 determines whether IX-SX is divisible by “5”. (Step 406). That is, it is determined whether or not the synchronization code is arranged in the block specified by IX.

ここで、IX−SXが「5」で割り切れた場合、つまり、このブロックに同期符号が配置されている場合は、X座標符号を取り出す対象ではないため、IXに「1」を加算し(ステップ407)、ステップ406へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、このブロックに同期符号が配置されていない場合、X座標符号検出部40は、XA[KX]に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 (Step 1 407), go to step 406.
On the other hand, when IX-SX is not divisible by “5”, that is, when no synchronization code is arranged in this block, the X coordinate code detection unit 40 substitutes PA [IX, IY] for XA [KX]. (Step 408).

そして、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座標符号復号部42の処理に移る。
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 process proceeds to the X coordinate code decoding unit 42.

即ち、X座標符号復号部42は、XA[X]を復号できるかどうかを判定する(ステップ413)。
ここで、XA[X]を復号できると判定すると、X座標符号復号部42は、XA[X]とShiftXからX座標情報を復号し、DXに代入する(ステップ414)。そして、DXが、識別符号復号部32から取得したW1とW2の間にあるかどうかを判定する(ステップ415)。DXがW1とW2の間にあれば、そのままDXを復号結果とする。
一方、XA[X]が復号できないと判定された場合や、DXがW1とW2の間にないと判定された場合は、N/AをDXに代入する(ステップ416)。
In other words, the X coordinate code decoding unit 42 determines whether or not XA [X] can be decoded (step 413).
If it is determined that XA [X] can be decoded, the X coordinate code decoding unit 42 decodes the X coordinate information from XA [X] and ShiftX and substitutes it into DX (step 414). Then, it is determined whether DX is between W1 and W2 acquired from the identification code decoding unit 32 (step 415). If DX is between W1 and W2, DX is directly used as a decoding result.
On the other hand, if it is determined that XA [X] cannot be decoded, or if it is determined that DX is not between W1 and W2, N / A is substituted for DX (step 416).

尚、ここでは、X座標符号検出部40及びX座標符号復号部42の動作のみ説明したが、Y座標符号検出部45及びY座標符号復号部47も同様の動作を行う。特に、Y座標符号復号部47では、Y座標符号配列YA[Y]とShiftYからY座標符号を復号してDYに代入し、これが、識別符号復号部32から取得したH1とH2の間にあるかどうかを判定する。その結果、DYがH1とH2の間にないと判定されれば、N/AをDYに代入する。   Although only the operations of the X coordinate code detection unit 40 and the X coordinate code decoding unit 42 have been described here, the Y coordinate code detection unit 45 and the Y coordinate code decoding unit 47 perform the same operation. In particular, the Y coordinate code decoding unit 47 decodes the Y coordinate code from the Y coordinate code array YA [Y] and ShiftY and substitutes it into DY, and this is between H1 and H2 acquired from the identification code decoding unit 32. Determine whether or not. As a result, if it is determined that DY is not between H1 and H2, N / A is substituted into DY.

その後、DX及びDYを取得した情報出力部50は、DX及びDYのいずれか一方にN/Aが代入されていれば、座標(DX,DY)が正しく復号されていないものとして扱えばよい。尚、ここでは、DX及びDYのいずれかが決められた範囲にない場合には、座標を誤りと判定したが、その他の処理を行うようにしてもよい。
以上により、本実施の形態における画像処理装置20の詳細な動作説明を終了する。
Thereafter, the information output unit 50 that has acquired DX and DY may treat the coordinates (DX, DY) as not being correctly decoded if N / A is assigned to either DX or DY. Here, when either DX or DY is not within the determined range, the coordinates are determined to be incorrect, but other processing may be performed.
Thus, the detailed operation description of the image processing apparatus 20 in the present embodiment is finished.

尚、本実施の形態では、サイズ情報及び切り出し位置情報を識別符号の一部として埋め込む方法を採用した。しかしながら、サイズ情報及び切り出し位置情報の埋め込み方法は、これには限らず、識別符号及び座標符号と共に埋め込むことができるものであれば、他の如何なる方法を採用してもよい。
そのような他の方法の例としては、次のようなものが考えられる。
本実施の形態において、座標情報は16種類の単位符号パターンを用いて表している。そこで、その2倍以上の単位符号パターンを用いて情報を表現することが可能な符号化方式を採用した場合に、使用していない冗長ビットにサイズ情報や切り出し位置情報を埋め込む方法である。
In the present embodiment, a method of embedding size information and cutout position information as part of an identification code is employed. However, the method of embedding the size information and the cutout position information is not limited to this, and any other method may be adopted as long as it can be embedded together with the identification code and the coordinate code.
Examples of such other methods are as follows.
In the present embodiment, the coordinate information is expressed using 16 types of unit code patterns. Therefore, when a coding method capable of expressing information using a unit code pattern that is twice or more of that is employed, size information and cut-out position information are embedded in unused redundant bits.

まず、サイズ情報のみを埋め込むものとして具体例を示す。サイズ情報のみを埋め込む場合は、5ビットの情報を追加的に埋め込むことができればよい。
例えば、9C2方式では、情報を表現するのに、32種類の単位符号パターンを用いることができる。ところが、座標情報には16種類の単位符号パターンしか使っていない。そこで、32種類の単位符号パターンを16種類ずつ2つのグループ(Aグループ、Bグループ)に分け、例えば、Aグループをビット「0」に、Bグループをビット「1」に割り当てる。こうすることで、座標情報を表す8つのブロックについて、Aグループ及びBグループの単位符号パターンを選択的に使うことができ、最大8ビットの情報を埋め込むことができる。従って、サイズ情報を埋め込むことができる。
First, a specific example will be shown assuming that only size information is embedded. When only the size information is embedded, it is sufficient that 5-bit information can be additionally embedded.
For example, in the 9C2 system, 32 types of unit code patterns can be used to express information. However, only 16 types of unit code patterns are used for the coordinate information. Therefore, the 32 types of unit code patterns are divided into 16 groups of 2 groups (A group and B group). For example, the A group is assigned to bit “0” and the B group is assigned to bit “1”. By doing so, the unit code patterns of the A group and the B group can be selectively used for the eight blocks representing the coordinate information, and information of up to 8 bits can be embedded. Therefore, size information can be embedded.

次に、サイズ情報及び切り出し位置情報を埋め込むものとして具体例を示す。サイズ情報及び切り出し位置情報を埋め込む場合は、12ビットの情報を追加的に埋め込む必要がある。
例えば、9C3方式では、情報を表現するのに、64種類の単位符号パターンを用いることができる。ところが、座標情報には16種類の単位符号パターンしか使っていない。そこで、64種類の単位符号パターンを16種類ずつ4つのグループ(Aグループ、Bグループ、Cグループ、Dグループ)に分け、例えば、Aグループをビット「0」に、Bグループをビット「1」に、Cグループをビット「2」に、Dグループをビット「3」に割り当てる。こうすることで、座標情報を表す8つのブロックについて、Aグループ〜Dグループの単位符号パターンを選択的に使うことができ、最大16ビットの情報を埋め込むことができる。従って、サイズ情報及び切り出し位置情報を埋め込むことができる。
Next, a specific example will be shown as embedding size information and cutout position information. When embedding size information and cutout position information, it is necessary to additionally embed 12-bit information.
For example, in the 9C3 system, 64 types of unit code patterns can be used to express information. However, only 16 types of unit code patterns are used for the coordinate information. Therefore, 64 types of unit code patterns are divided into 16 groups of 4 groups (A group, B group, C group, D group), for example, A group is set to bit “0”, and B group is set to bit “1”. , C group is assigned to bit “2”, and D group is assigned to bit “3”. By doing so, the unit code patterns of the A group to the D group can be selectively used for the eight blocks representing the coordinate information, and information of up to 16 bits can be embedded. Therefore, size information and cutout position information can be embedded.

また、本実施の形態では、図5に示したように識別情報を配置するブロックを有するレイアウトを前提としたが、識別情報を配置するブロックを有しないレイアウトを前提としてもよい。   Further, in the present embodiment, as shown in FIG. 5, a layout having a block in which identification information is arranged is assumed. However, a layout having no block in which identification information is arranged may be assumed.

次に、本実施の形態における画像生成装置10及び画像処理装置20の具体的なハードウェア構成について説明する。
まず、画像処理装置20を実現するペンデバイス60について説明する。
図18は、ペンデバイス60の機構を示した図である。
図示するように、ペンデバイス60は、ペン全体の動作を制御する制御回路61を備える。また、制御回路61は、入力画像から検出した符号画像を処理する画像処理部61aと、そこでの処理結果から識別情報及び座標情報を抽出するデータ処理部61bとを含む。
そして、制御回路61には、ペンデバイス60による筆記動作をペンチップ69に加わる圧力によって検出する圧力センサ62が接続されている。また、媒体上に赤外光を照射する赤外LED63と、画像を入力する赤外CMOS64も接続されている。更に、識別情報及び座標情報を記憶するための情報メモリ65と、外部装置と通信するための通信回路66と、ペンを駆動するためのバッテリ67と、ペンの識別情報(ペンID)を記憶するペンIDメモリ68も接続されている。
Next, specific hardware configurations of the image generation apparatus 10 and the image processing apparatus 20 in the present embodiment will be described.
First, the pen device 60 that implements the image processing apparatus 20 will be described.
FIG. 18 is a view showing the mechanism of the pen device 60.
As illustrated, the pen device 60 includes a control circuit 61 that controls the operation of the entire pen. The control circuit 61 includes an image processing unit 61a that processes a code image detected from an input image, and a data processing unit 61b that extracts identification information and coordinate information from the processing result.
The control circuit 61 is connected to a pressure sensor 62 that detects the writing operation by the pen device 60 by the pressure applied to the pen tip 69. Further, an infrared LED 63 that irradiates infrared light onto the medium and an infrared CMOS 64 that inputs an image are also connected. Further, an information memory 65 for storing identification information and coordinate information, a communication circuit 66 for communicating with an external device, a battery 67 for driving a pen, and pen identification information (pen ID) are stored. A pen ID memory 68 is also connected.

尚、図12に示した画像読取部21は、例えば、図18の赤外CMOS64にて実現される。また、ドット配列生成部22は、例えば、図18の画像処理部61aにて実現される。更に、図12に示したブロック検出部23、同期符号検出部24、回転判定部25、符号配列回転部26、識別符号検出部30、識別符号復号部32、識別符号誤り検出部33、識別符号誤り訂正部34、X座標符号検出部40、X座標符号復号部42、X座標符号誤り検出部43、X座標符号誤り訂正部44、Y座標符号検出部45、Y座標符号復号部47、Y座標符号誤り検出部48、Y座標符号誤り訂正部49、情報出力部50は、例えば、図18のデータ処理部61bにて実現される。   The image reading unit 21 shown in FIG. 12 is realized by, for example, the infrared CMOS 64 in FIG. The dot array generation unit 22 is realized by, for example, the image processing unit 61a in FIG. Further, the block detection unit 23, the synchronization code detection unit 24, the rotation determination unit 25, the code array rotation unit 26, the identification code detection unit 30, the identification code decoding unit 32, the identification code error detection unit 33, and the identification code illustrated in FIG. Error correction unit 34, X coordinate code detection unit 40, X coordinate code decoding unit 42, X coordinate code error detection unit 43, X coordinate code error correction unit 44, Y coordinate code detection unit 45, Y coordinate code decoding unit 47, Y The coordinate code error detection unit 48, the Y coordinate code error correction unit 49, and the information output unit 50 are realized by, for example, the data processing unit 61b in FIG.

また、画像生成装置10にて実現される処理、及び、図18の画像処理部61a又はデータ処理部61bにて実現される処理は、例えば、汎用のコンピュータで実現してもよい。そこで、かかる処理をコンピュータ90で実現するものとし、コンピュータ90のハードウェア構成について説明する。
図19は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
Further, the process realized by the image generation apparatus 10 and the process realized by the image processing unit 61a or the data processing unit 61b in FIG. 18 may be realized by a general-purpose computer, for example. Accordingly, assuming that such processing is realized by the computer 90, the hardware configuration of the computer 90 will be described.
FIG. 19 is a diagram illustrating a hardware configuration of the computer 90.
As shown in the figure, the computer 90 includes a CPU (Central Processing Unit) 91 as a calculation means, a main memory 92 as a storage means, and a magnetic disk device (HDD: Hard Disk Drive) 93. Here, the CPU 91 executes various types of software such as an OS (Operating System) and applications to realize the above-described functions. The main memory 92 is a storage area for storing various software and data used for execution thereof, and the magnetic disk device 93 is a storage area for storing input data for various software, output data from various software, and the like. .
Further, the computer 90 includes a communication I / F 94 for performing communication with the outside, a display mechanism 95 including a video memory and a display, and an input device 96 such as a keyboard and a mouse.

尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、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.

9Cn方式における単位符号パターンの一例を示した図である。It is the figure which showed an example of the unit code pattern in 9Cn system. 9Cn方式における単位符号パターンの他の例を示した図である。It is the figure which showed the other example of the unit code pattern in 9Cn system. 9C2方式における単位符号パターンとパターン値の対応を示した図である。It is the figure which showed the correspondence of the unit code pattern and pattern value in 9C2 system. 9C2方式における同期パターンの例を示した図である。It is the figure which showed the example of the synchronous pattern in 9C2 system. 符号ブロックの基本的なレイアウトの例を示した図である。It is the figure which showed the example of the basic layout of a code block. 符号ブロックの紙面上のレイアウトの例を示した図である。It is the figure which showed the example of the layout on the paper surface of a code block. M系列による座標の表現について説明するための図である。It is a figure for demonstrating the expression of the coordinate by M series. ペンデバイスで指示した座標と取得した座標が異なる場合について説明するための図である。It is a figure for demonstrating the case where the coordinate instruct | indicated with the pen device and the acquired coordinate differ. A0サイズの座標空間について示した図である。It is the figure shown about the coordinate space of A0 size. 本実施の形態における画像生成装置の機能構成を示したブロック図である。It is the block diagram which showed the function structure of the image generation apparatus in this Embodiment. 本実施の形態における情報取得部の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the information acquisition part in this Embodiment. 本実施の形態における画像処理装置の機能構成を示したブロック図である。It is the block diagram which showed the function structure of the image processing apparatus in this Embodiment. ドット配列上でブロックを検出する際の処理を説明するための図である。It is a figure for demonstrating the process at the time of detecting a block on a dot arrangement | sequence. 本実施の形態におけるブロック検出部の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the block detection part in this Embodiment. 本実施の形態における同期符号検出部の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the synchronous code detection part in this Embodiment. 本実施の形態における識別符号検出部及び識別符号復号部の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the identification code detection part and identification code decoding part in this Embodiment. 本実施の形態におけるX座標符号検出部及びX座標符号復号部の動作例を示したフローチャートである。It is the flowchart which showed the operation example of the X coordinate code detection part and X coordinate code decoding part in this Embodiment. 本実施の形態における画像処理装置を実現可能なペンデバイスの機構を示した図である。It is the figure which showed the mechanism of the pen device which can implement | achieve the image processing apparatus in this Embodiment. 本実施の形態を適用可能なコンピュータのハードウェア構成図である。It is a hardware block diagram of the computer which can apply this Embodiment.

符号の説明Explanation of symbols

10…画像生成装置、20…画像処理装置、21…画像読取部、22…ドット配列生成部、23…ブロック検出部、24…同期符号検出部、25…回転判定部、26…符号配列回転部、30…識別符号検出部、32…識別符号復号部、33…識別符号誤り検出部、34…識別符号誤り訂正部、40…X座標符号検出部、42…X座標符号復号部、43…X座標符号誤り検出部、44…X座標符号誤り訂正部、45…Y座標符号検出部、47…Y座標符号復号部、48…Y座標符号誤り検出部、49…Y座標符号誤り訂正部、50…情報出力部 DESCRIPTION OF SYMBOLS 10 ... Image generation apparatus, 20 ... Image processing apparatus, 21 ... Image reading part, 22 ... Dot array generation part, 23 ... Block detection part, 24 ... Synchronous code detection part, 25 ... Rotation determination part, 26 ... Code arrangement rotation part , 30 ... identification code detection unit, 32 ... identification code decoding unit, 33 ... identification code error detection unit, 34 ... identification code error correction unit, 40 ... X coordinate code detection unit, 42 ... X coordinate code decoding unit, 43 ... X Coordinate code error detection unit 44... X coordinate code error correction unit 45. Y coordinate code detection unit 47. Y coordinate code decoding unit 48. Y coordinate code error detection unit 49 49 Y coordinate code error correction unit 50 ... Information output section

Claims (9)

媒体上の位置を示す座標情報と当該座標情報の範囲を示す範囲情報とを表す画像が印刷された当該媒体から読み取られた当該画像を取得する取得手段と、
前記取得手段により取得された前記画像から前記座標情報を検出する座標情報検出手段と、
前記取得手段により取得された前記画像から前記範囲情報を検出する範囲情報検出手段と、
前記座標情報検出手段により検出された前記座標情報と、前記範囲情報検出手段により検出された前記範囲情報との比較結果に応じて、当該座標情報に対する処理内容を決定する決定手段と
を備えたことを特徴とする画像処理装置。
Acquisition means for acquiring the image read from the medium on which an image representing coordinate information indicating a position on the medium and range information indicating a range of the coordinate information is printed;
Coordinate information detection means for detecting the coordinate information from the image acquired by the acquisition means;
Range information detection means for detecting the range information from the image acquired by the acquisition means;
Determining means for determining processing contents for the coordinate information according to a comparison result between the coordinate information detected by the coordinate information detecting means and the range information detected by the range information detecting means; An image processing apparatus.
前記座標情報は、前記媒体上の位置を、当該媒体上の所定の基準点からの当該位置の縦方向及び横方向の変位によって示したものであり、
前記範囲情報は、前記座標情報の範囲を、前記媒体の縦方向及び横方向の長さを特定するための情報によって示したものであることを特徴とする請求項1記載の画像処理装置。
The coordinate information indicates a position on the medium by a vertical and horizontal displacement of the position from a predetermined reference point on the medium,
The image processing apparatus according to claim 1, wherein the range information indicates a range of the coordinate information by information for specifying a length in a vertical direction and a horizontal direction of the medium.
前記座標情報は、前記媒体上の位置を、当該媒体を包含する特定の領域上にあって当該媒体上にはない所定の基準点からの当該位置の縦方向及び横方向の変位によって示したものであり、
前記範囲情報は、前記座標情報の範囲を、当該座標情報の前記特定の領域上の位置を示す座標情報内での位置を特定するための情報と、前記媒体の縦方向及び横方向の長さを特定するための情報とによって示したものであることを特徴とする請求項1記載の画像処理装置。
The coordinate information indicates a position on the medium by a vertical and horizontal displacement of the position from a predetermined reference point that is on a specific area including the medium and not on the medium. And
The range information includes information for specifying the position of the coordinate information in the coordinate information indicating the position of the coordinate information on the specific area, and lengths in the vertical and horizontal directions of the medium. The image processing apparatus according to claim 1, wherein the image processing apparatus is indicated by information for identifying the image.
媒体上の位置を所定の座標系に従って示した座標情報を取得する座標情報取得手段と、
前記座標情報の範囲を示す範囲情報を取得する範囲情報取得手段と、
前記座標情報取得手段により取得された前記座標情報と、前記範囲情報取得手段により取得された前記範囲情報とを表す画像を生成する生成手段と
を備えたことを特徴とする画像生成装置。
Coordinate information acquisition means for acquiring coordinate information indicating a position on the medium according to a predetermined coordinate system;
Range information acquisition means for acquiring range information indicating the range of the coordinate information;
An image generation apparatus comprising: a generation unit configured to generate an image representing the coordinate information acquired by the coordinate information acquisition unit and the range information acquired by the range information acquisition unit.
前記座標情報取得手段は、前記媒体上の所定の基準点からの前記媒体上の位置の縦方向及び横方向の変位を、前記座標情報として取得し、
前記範囲情報取得手段は、前記媒体の縦方向及び横方向の長さを特定するための情報を、前記範囲情報として取得することを特徴とする請求項4記載の画像生成装置。
The coordinate information acquisition means acquires, as the coordinate information, a vertical and horizontal displacement of a position on the medium from a predetermined reference point on the medium,
The image generation apparatus according to claim 4, wherein the range information acquisition unit acquires information for specifying a length in a vertical direction and a horizontal direction of the medium as the range information.
前記媒体を包含する特定の領域上の位置を前記所定の座標系に従って示した拡張座標情報を記憶する記憶手段を更に備え、
前記座標情報取得手段は、前記特定の領域上にあって前記媒体上にはない所定の基準点からの前記媒体上の位置の縦方向及び横方向の変位を、前記座標情報として取得し、
前記範囲情報取得手段は、前記座標情報の前記拡張座標情報内での位置を特定するための情報と、前記媒体の縦方向及び横方向の長さを特定するための情報とを、前記範囲情報として取得することを特徴とする請求項4記載の画像生成装置。
Storage means for storing extended coordinate information indicating a position on a specific area including the medium according to the predetermined coordinate system;
The coordinate information acquisition unit acquires, as the coordinate information, a vertical and horizontal displacement of a position on the medium from a predetermined reference point that is on the specific area and not on the medium,
The range information acquisition means includes information for specifying the position of the coordinate information in the extended coordinate information and information for specifying the length in the vertical direction and the horizontal direction of the medium. The image generation apparatus according to claim 4, wherein the image generation apparatus is acquired as:
前記記憶手段は、複数の前記拡張座標情報を各々の識別情報に関連付けて記憶し、
前記座標情報取得手段は、前記座標情報を、前記記憶手段に記憶された前記複数の拡張座標情報のうちの特定の拡張座標情報から取得し、かつ、当該特定の拡張座標情報に関連付けられた前記識別情報を取得し、
前記生成手段は、前記座標情報取得手段により取得された前記識別情報を更に表す前記画像を生成することを特徴とする請求項6記載の画像生成装置。
The storage means stores a plurality of the extended coordinate information in association with each identification information,
The coordinate information acquisition unit acquires the coordinate information from specific extended coordinate information of the plurality of extended coordinate information stored in the storage unit, and is associated with the specific extended coordinate information. Get identification information,
The image generation apparatus according to claim 6, wherein the generation unit generates the image that further represents the identification information acquired by the coordinate information acquisition unit.
コンピュータに、
媒体上の位置を示す座標情報と当該座標情報の範囲を示す範囲情報とを表す画像が印刷された当該媒体から読み取られた当該画像を取得する機能と、
取得された前記画像から前記座標情報を検出する機能と、
取得された前記画像から前記範囲情報を検出する機能と、
検出された前記座標情報と、検出された前記範囲情報との比較結果に応じて、当該座標情報に対する処理内容を決定する機能と
を実現させるためのプログラム。
On the computer,
A function of acquiring the image read from the medium on which the image representing the coordinate information indicating the position on the medium and the range information indicating the range of the coordinate information is printed;
A function of detecting the coordinate information from the acquired image;
A function of detecting the range information from the acquired image;
The program for implement | achieving the function which determines the processing content with respect to the said coordinate information according to the comparison result of the detected said coordinate information and the detected said range information.
コンピュータに、
媒体上の位置を所定の座標系に従って示した座標情報を取得する機能と、
前記座標情報の範囲を示す範囲情報を取得する機能と、
取得された前記座標情報と、取得された前記範囲情報とを表す画像を生成する機能と
を実現させるためのプログラム。
On the computer,
A function of acquiring coordinate information indicating a position on the medium according to a predetermined coordinate system;
A function of acquiring range information indicating a range of the coordinate information;
The program for implement | achieving the function which produces | generates the image showing the acquired said coordinate information and the acquired said range information.
JP2007144175A 2007-05-30 2007-05-30 Image processor, image generating apparatus and program Withdrawn JP2008301120A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007144175A JP2008301120A (en) 2007-05-30 2007-05-30 Image processor, image generating apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007144175A JP2008301120A (en) 2007-05-30 2007-05-30 Image processor, image generating apparatus and program

Publications (1)

Publication Number Publication Date
JP2008301120A true JP2008301120A (en) 2008-12-11

Family

ID=40174222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007144175A Withdrawn JP2008301120A (en) 2007-05-30 2007-05-30 Image processor, image generating apparatus and program

Country Status (1)

Country Link
JP (1) JP2008301120A (en)

Similar Documents

Publication Publication Date Title
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
JP5609469B2 (en) Image processing apparatus, identification apparatus, electronic writing instrument, and program
JP4967823B2 (en) Position detection apparatus and program
US8019181B2 (en) Image generation apparatus, image processing apparatus, computer readable medium and computer data signal
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
JP2009175845A (en) Image processor, pen device, and program
JP5125547B2 (en) Image generating apparatus, image processing apparatus, program, and print medium
JP4973317B2 (en) Image processing apparatus and program
JP5098441B2 (en) Image processing apparatus and program
JP2008301120A (en) Image processor, image generating apparatus and program
JP5125548B2 (en) Image processing apparatus and program
JP2009181341A (en) Position detection device and program
JP5115213B2 (en) Image generating apparatus, image processing apparatus, program, and print medium
JP2011049690A (en) Two-dimensional code generator, image forming system, two-dimensional code reader, computer program, and medium
JP2009182823A (en) Image processor and program
JP4915211B2 (en) Image generating apparatus, print medium, and program
JP4996461B2 (en) Data coding and decoding
JP2008301128A (en) Image processor, image-generating apparatus and program
JP5028955B2 (en) Image processing apparatus and program
JP2009176251A (en) Image processing device and program
JP2008109578A (en) Image generating device, information reader, and recording medium
JP2009181363A (en) Image-processing device, image-generating 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: 20110826

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20111004