WO2013179595A1 - 位置コードの読み取り装置及び読み取り方法 - Google Patents

位置コードの読み取り装置及び読み取り方法 Download PDF

Info

Publication number
WO2013179595A1
WO2013179595A1 PCT/JP2013/003088 JP2013003088W WO2013179595A1 WO 2013179595 A1 WO2013179595 A1 WO 2013179595A1 JP 2013003088 W JP2013003088 W JP 2013003088W WO 2013179595 A1 WO2013179595 A1 WO 2013179595A1
Authority
WO
WIPO (PCT)
Prior art keywords
number sequence
sequence
length
sequences
partial
Prior art date
Application number
PCT/JP2013/003088
Other languages
English (en)
French (fr)
Inventor
知弘 木村
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2013556694A priority Critical patent/JP6029024B2/ja
Priority to US14/127,787 priority patent/US9703404B2/en
Priority to CN201380001822.5A priority patent/CN103748536A/zh
Publication of WO2013179595A1 publication Critical patent/WO2013179595A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding

Definitions

  • the present disclosure relates to a position code reading device and a reading method, and further, a method for generating a position code, a method for decoding a read position code, a computer program for executing these methods, and a product using the position code Etc.
  • Patent Document 1 uses three types of number sequences, a main number sequence, a primary number sequence, and a secondary number sequence, to generate a position code.
  • Patent Document 1 discloses a method of generating a graphical position code, printing it on a paper surface, optically reading it with an input unit provided in an electronic pen, and determining a coordinate position based on the read position code. It is described.
  • Patent Document 1 exemplifies a binary number sequence having a length of 63 as the main number sequence.
  • a sequence generated by connecting the beginning of the same main number sequence to the end of the main number sequence is called a cyclic main number sequence.
  • the cyclic main number sequence in Patent Literature 1 is a number sequence that can clearly determine the location of the partial number sequence with respect to the main number sequence for any partial number sequence having a length of 6 in the cyclic main number sequence.
  • the location of the partial number sequence with respect to the main number sequence corresponds to a remainder when the deviation of the beginning of the partial number sequence from the beginning of the main number sequence in a predetermined direction is divided by the length of the main number sequence. That is, for an arbitrary partial number sequence having a length of 6 extracted from a cyclic main number sequence having a length of 63, the location of the extracted partial number sequence can be specified in the range of 0 to 62. .
  • the two or more main number sequences are each moved (shifted) in a predetermined direction according to the designated amount of circulation movement, and are sequentially arranged adjacent to each other as a circulation main number sequence.
  • the difference in the amount of cyclic movement between two adjacent cyclic main number sequences is called the difference number.
  • This difference number is obtained by extracting a partial sequence with the same deviation from two adjacent cyclic main number sequences arranged adjacent to each other, specifying each of the extracted two partial number sequences with respect to the main number sequence, and the difference between the two specified locations. Is obtained by seeking.
  • the partial sequences with the same deviation in the above description mean partial sequences with the same amount of deviation (deviation width) from the beginning of each cyclic main number sequence to the beginning of each partial number sequence.
  • partial number sequences having the same deviation are not limited to the above definition, and any number may be used as long as the number of differences between the cyclic main number sequences can be appropriately specified.
  • a partial number sequence associated with the positional relationship of the position code arranged on the two-dimensional plane in the two-dimensional plane, or an association based on the positional relationship of the position code arranged in the three-dimensional space in the three-dimensional space It may be a partial sequence.
  • Patent Document 1 exemplifies using a value of 5 to 58 as the difference number.
  • the number sequence with the difference number as a term forms a primary number sequence.
  • the difference number is broken down into multiple digits based on the mixed radix.
  • a number sequence whose terms are values of each digit is defined as a secondary number sequence.
  • 3, 3, 2, and 3 are exemplified in order from the lower base number as the mixed base number. That is, the number of secondary number sequences derived from one primary number sequence is four.
  • Each of the four secondary number sequences is constituted by a cyclic main number sequence, but the length of the main number sequence that forms each cyclic main number sequence is relatively prime (no common divisor other than 1). Is set.
  • Patent Document 1 exemplifies 236, 233, 31 and 241, respectively, as the lengths of main number sequences that form a cyclic main number sequence in four secondary number sequences.
  • All of the four secondary number sequences can acquire a partial number sequence having a length of 5 from the secondary number sequence, thereby specifying the location in the secondary number sequence.
  • the location in the secondary number sequence indicates the desired position information.
  • position code The arrangement of a plurality of cyclic main number sequences described above is called a position code, and a position code is generated by encoding position information.
  • position information can be estimated from a position code in a predetermined range acquired by reading or the like. This is called position code decoding.
  • An apparatus for reading a position code performs a primary operation by circulating a main number sequence of a base number b and a length K and shifting a cyclic main number sequence including K number of eigenparts of a predetermined length according to a predetermined amount.
  • FIG. 1A is a diagram schematically showing an example of a position code arranged in the X direction in the present embodiment.
  • FIG. 1B is a diagram schematically illustrating an example of a position code arranged in the Y direction in the present embodiment.
  • FIG. 2 is a diagram showing an example in which the position code in the present embodiment is arranged using a graphical mark image.
  • FIG. 3 is a diagram showing an example of a mark image formed on the xy plane.
  • FIG. 4 is a diagram schematically illustrating a state in which a mark image is optically read.
  • FIG. 5 is a diagram showing an example in which the mark image of FIG. 4 is rotated in the direction along the xy plane.
  • FIG. 6 is a diagram illustrating determination of a position code at a normal position where the mark image is not rotated.
  • FIG. 7 is a diagram for explaining position code determination at a position where the mark image of FIG. 6 is rotated 90 degrees clockwise from the normal position.
  • FIG. 8 is a diagram for explaining position code determination at a position where the mark image of FIG. 6 is rotated 180 degrees clockwise from the normal position.
  • FIG. 9 is a diagram illustrating position code determination at a position where the mark image of FIG. 6 is rotated 270 degrees clockwise from the normal position.
  • FIG. 10 is a diagram illustrating a schematic configuration of an apparatus for reading a position code in the present embodiment.
  • An apparatus for reading a position code according to an aspect of the present disclosure based on the invention is incorporated into an apparatus such as an electronic pen that optically or electronically identifies a coordinate position.
  • An apparatus for reading according to an aspect of the present disclosure uses a primary position code by cyclically shifting a main number sequence of base number b and length K, and by shifting a cyclic main number sequence including K eigenpart number sequences of a predetermined length according to a predetermined amount.
  • the determination unit has the smallest hamming distance between each of the read partial sequences of length N and the partial sequences of length N read out of K unique partial sequences.
  • the unique partial number sequence can be identified to determine the location in the cyclic main number sequence.
  • the determination unit reverses the minimum Hamming distance to the cyclic main number sequence and the polarity of the cyclic main number sequence and reverses the arrangement.
  • the minimum Hamming distance with the sequence is calculated, and when the minimum Hamming distance with the auxiliary sequence is smaller than the minimum Hamming distance with the circulation main sequence, the rotation removal process is performed on the partial sequence with the length N read.
  • the minimum hamming distance with the circulation main number sequence is calculated and summed
  • the minimum hamming distance with the auxiliary number sequence is calculated and summed
  • the total value of the minimum hamming distance with the auxiliary number sequence is the minimum hamming distance with the circulation main number sequence.
  • the rotation removal processing can be applied to the read partial sequence of length N.
  • the determination unit can correct the influence of the rotation generated in the position code in units of 90 degrees based on the calculated minimum Hamming distance or the total value thereof.
  • the position code is used to encode position information in one or more dimensions.
  • one dimension for example, the x direction
  • the cyclic main number sequence used in the present embodiment is a configuration in which a plurality of main number sequences having a predetermined radix and length are connected to the end and the start end, and a plurality of partial number sequences having different predetermined lengths. It has the property that the location for the main number sequence can be specified. Further, each of the plurality of different partial number sequences has a property that even if one term in the partial number sequence becomes a different number sequence, it does not match any of the plurality of partial number sequences.
  • the radix of the main number sequence is defined as b
  • the length of the main number sequence (circulation length of the cyclic main number sequence) is defined as K
  • the length of the partial number sequence in the cyclic main number sequence is defined as N.
  • K number of partial number sequences different from each other in the cyclic main number sequence, because they match the length of the main number sequence.
  • the partial number sequence of base number b and length N there are (b-1) * N number of number sequences in which one term in the partial number sequence is different.
  • the necessary condition for the different K-number partial sequences and the number-sequences in which one term in the K partial number sequences is different from each other is the following formula [1].
  • the error of one term in the partial number sequence is allowed, and the location of the partial number sequence with respect to the cyclic main number sequence can be uniquely determined.
  • M “0, 0, 1, 0, 1, 1, 1”
  • Partial sequence 0, 0, 1, 0, 1, 1 ⁇ 0 for the main sequence 0, 1, 0, 1, 1, 1 ⁇ 1 1,0,1,1,1,0 ⁇ 2 0, 1, 1, 1, 0, 0 ⁇ 3 1,1,1,0,0,1 ⁇ 4 1,1,0,0,1,0 ⁇ 5 1, 0, 0, 1, 0, 1 ⁇ 6
  • the position code is obtained by encoding position information by arranging a plurality of cyclic main number sequences each giving a cyclic movement amount determined according to a position in a plane or space. Specifically, a plurality of cyclic main number sequences each shifted in accordance with the amount of cyclic movement are arranged side by side in a dimension in which position information is to be encoded (for example, the x direction in the xy plane). It extends in a dimension orthogonal to the dimension to be encoded (for example, the y direction in the xy plane).
  • FIG. 1A shows an example in which a position code in the x direction is encoded on the xy plane.
  • a plurality of cyclic main number sequences (seven number sequences x to x + 6 in the example of FIG. 1A) extending in the y direction orthogonal to the x direction (defined as “x ′ direction” for the position code in the x direction).
  • x ′ direction for the position code in the x direction
  • FIG. 1A shows the state of being arranged side by side in the x direction.
  • the locations p (x) to p (x + 6) with respect to the main number sequences of the partial number sequences S (x) to S (x + 6) at the head of each of the seven cyclic main number sequences x to x + 6 shown in FIG. 1A are based on the relationship described above. It becomes 0, 1, 3, 6, 0, 6, 1 respectively.
  • the difference number d (X) between adjacent locations p (X) is represented by the following formula [2].
  • “mod K” represents an operation modulo K.
  • the length K of the main number sequence is 7.
  • d (x) ⁇ p (x + 1) ⁇ p (x) ⁇ mod K [2]
  • the values of the difference numbers d (x) to d (x + 5) in the example of FIG. 1A are obtained according to the above equation [2], they are 1, 2, 3, 1, 6, and 2, respectively.
  • a number sequence consisting of the sequence of the difference numbers d (X) is called a primary number sequence, and a difference number sequence having a length of 5 in the primary number sequence (for example, the difference numbers d (x) to d (x + 4)) is a primary number sequence.
  • a partial sequence When the partial sequence selected from the plurality of cyclic main number sequences is a portion other than the head shown in FIG.
  • the primary number sequence is a number sequence whose base is K, and the difference number sequence having a length of 5 has a permutation of K 5 at the maximum.
  • K 7
  • there is a permutation sequence of 7 5 16807 at the maximum in the difference number sequence of length 5. Accordingly, if a differential number sequence having a length of 5 can be uniquely determined as a partial sequence of the primary sequence, a primary sequence having a maximum length of 16807 can be designed, and the position in the x direction can be expressed in the range of 0 to 16806 by the primary sequence. Is possible.
  • a shorter length secondary number sequence can greatly reduce the table for converting from that partial number sequence to a place in the primary number sequence.
  • the number of secondary number sequences is the number of elements obtained by factoring the difference number. In this example, the number of secondary number sequences is two. Further, the secondary number sequence is configured with elements obtained by factoring the difference numbers as respective radixes.
  • the lengths of the plurality of secondary number sequences are selected within a range equal to or less than the above-described maximum length so as to be relatively prime (no divisor other than 1). This combination of partial sequences obtained from each secondary number sequence whose length is selected means that it is unique in the range of the products of the lengths of all the secondary number sequences.
  • the secondary number sequence A1 is a number sequence having a radix of 2 and a length of 31
  • the secondary number sequence A2 is a number sequence having a radix of 3 and a length of 241.
  • d (X) a2 (X) * 2 + a1 (X) +1.
  • 0, 1, 0, 0, 1, 1 is used as the first secondary number sequence a1 (x) to a1 (x + 5), and 0 is set as the second secondary number sequence a2 (x) to a2 (x + 5).
  • 0, 1, 0, 2, 0 are illustrated.
  • FIG. 1B shows an example in which a position code in the y direction is encoded in the xy plane.
  • a plurality of cyclic main number sequences (seven number sequences y to y + 6 in the example of FIG. 1B) extending in the x direction orthogonal to the y direction (the position code in the y direction is defined as “y ′ direction”). ) are arranged side by side in the y direction.
  • the main number sequence, the primary number sequence, and the secondary number sequence used for encoding the position code in the y direction in two dimensions may be different from those used for encoding the position code in the one dimension (x direction). However, in the example of the present embodiment, the same thing is used.
  • the xy plane is treated as a two-dimensional plane.
  • the position code in the x direction and the position code in the y direction are overlapped, one bit of the position code in the x direction and one bit of the position code in the y direction exist at each coordinate position on the xy plane. Therefore, four sets of two bits of (0, 0), (0, 1), (1, 0), and (1, 1) are used at each coordinate position. These four sets of 2 bits can be encoded graphically as shown in FIGS. 2A to 2D, for example.
  • the mark 22 is a set of one bit of the position code in the x direction and one bit of the position code in the y direction at a position relative to the reference line with the coordinate grid 21 as the reference line.
  • the coordinate grid 21 need not be explicitly printed or displayed.
  • FIG. 3 schematically illustrates a mark image that is a pattern of a plurality of marks 22 generated based on the position code in a part of the xy plane.
  • a different type of graphical encoding may be used than in (a) to (d) of FIG.
  • the mark image obtained by graphically encoding the position code is optically read at an optical input unit provided in the reading device, for example.
  • an optical input unit for example, an element such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor) can be considered, but any element can be used as long as it can optically read a mark image. May be.
  • a description has been given of an example of a configuration in which a graphical position code is generated and the position code is optically read.
  • the position code of the present disclosure is not limited to this.
  • the position code may be anything as long as it presents a number of states corresponding to the radix b of the cyclic main number sequence and can be read by the reading device.
  • the position code may be presented electrically and read electrically.
  • the position code may be presented chemically or acoustically and read by an input unit corresponding to the position code.
  • the position code decoding method will be described by taking the position code representing the xy plane as an example.
  • the decoding method described below may be performed in an acquisition unit provided in the reading apparatus, or may be performed in an external apparatus connected to the reading apparatus by wired or wireless communication.
  • a part of the decoding method described below may be performed by the reading device, and the other part may be performed by an external device.
  • FIG. 4A is a diagram schematically showing a situation in which a mark image in the range of 6 * 6 is optically read.
  • the dashed grid represents a coordinate grid.
  • the coordinate grid may not be explicitly displayed.
  • a mark image representing the position code is not shown, but is printed along this coordinate grid (see, for example, FIG. 3).
  • FIG. 4A shows a situation where the mark image is read while being rotated in the xy plane when it is optically read.
  • a circle range including at least a 6 * 6 mark image (( What is necessary is just to acquire the image of the range of the circle
  • an image in a range larger than that may be acquired, and an image in a rectangular range instead of a circle may be acquired.
  • a mark including a mark out of the range together with the mark in the range of 6 * 6 The possibility of reading the image should also be considered.
  • FIG. 6 to 9 are diagrams for explaining the determination of the position code of the mark included in the mark image.
  • FIG. 7 shows a case where the mark image is read in a state rotated 90 degrees clockwise from the normal position
  • FIG. 9 illustrates a case where the mark image is read in a state rotated 180 degrees clockwise from the normal position
  • FIG. 9 illustrates a case where the mark image is read in a state rotated 270 degrees clockwise from the normal position.
  • FIG. 9 illustrates a case where the mark image is read in a state rotated 270 degrees clockwise from the normal position.
  • the position code mx is a position code in the x direction
  • the position code my is a position code in the y direction.
  • the reading state represents a state when a mark that is graphically encoded according to a set of bit values of the position code mx and the position code my is rotated and read at each angle. Dashed lines represent coordinate grids.
  • the x ′ arrow indicates the correct x ′ direction in which the cyclic main number sequence of the position code mx is arranged
  • the y ′ arrow indicates the correct y ′ direction in which the cyclic main number sequence of the position code my is arranged.
  • the x ′′ arrow indicates the direction in which the cyclic main number sequence of the position code mx is determined to be aligned
  • the y ′′ arrow indicates the direction in which it is determined that the cyclic main number sequence of the position code my is aligned.
  • the determination position code m′x is a position code in the x direction determined based on the x ′′ arrow direction
  • the determination position code m′y is a position code in the y direction determined based on the y ′′ arrow direction. is there.
  • the graphical position of the read mark image matches the normal position. Therefore, the determination position codes m′x and m′y have the same bit value as the position codes mx and my. Further, the x ′′ direction and the y ′′ direction in which it is determined that the cyclic main number sequences of the position codes are arranged in the read mark image are the same as the x ′ direction and the y ′ direction.
  • the graphical position of the read mark image is different from the normal position (dashed circle). Therefore, as a result of determining the position code at such different graphical positions, the bit value of the position code my appears in the determination position code m′x, and the bit obtained by inverting the position code mx in the determination position code m′y. The value appears.
  • the y ′′ direction in which it is determined that the cyclic main number sequence of the determination position code m′y is arranged is 180 ° opposite to the x ′ direction in which the cyclic main number sequence of the position code mx is arranged.
  • the position code m′y is a cyclic main number sequence in which the bit value (polarity) of the position code mx is inverted and arranged in reverse order.
  • the graphical position of the read mark image is exactly opposite to the normal position (dotted circle). Therefore, as a result of determining the position code at the different graphical positions in this way, a bit value obtained by inverting the position code mx appears in the determined position code m′x, and the position code my is inverted in the determined position code m′y. The bit value appears.
  • the x ′′ direction in which it is determined that the cyclic main number sequence of the determination position code m′x is arranged is 180 degrees opposite to the x ′ direction in which the cyclic main number sequence of the position code mx is arranged.
  • the code m′x is a cyclic main number sequence in which the bit value (polarity) of the position code mx is inverted and arranged in reverse order, and it is determined that the cyclic main number sequence of the determination position code m′y is arranged. Since the y ′′ direction is 180 degrees opposite to the y ′ direction in which the cyclic main number sequence of the position code my is arranged, the determination position code m′y has the bit value (polarity) of the position code my reversed and in reverse order. It becomes a circulation main number sequence arranged in line.
  • the graphical position of the read mark image is different from the normal position (dashed circle). Therefore, as a result of determining the position code at the different graphical positions in this way, a bit value obtained by inverting the position code my appears in the determined position code m′x, and the bit of the position code mx appears in the determined position code m′y. The value appears.
  • the x ′′ direction in which it is determined that the cyclic main number sequence of the determination position code m′x is arranged is 180 ° opposite to the y ′ direction in which the cyclic main number sequence of the position code my is arranged.
  • the position code m′x is a cyclic main number sequence in which the bit value (polarity) of the position code my is inverted and arranged in reverse order.
  • Table 1 shows all number sequences having a length of 6 and seven different partial number sequences having a length of 6 in the above-described cyclic main number sequence M (0, 0, 1, 0, 1, 1, 1).
  • auxiliary number sequence M * (0, 0, 0, 1, 0, 0) which is a cyclic main number sequence M in which the bit value (polarity) is inverted and the order is reversed.
  • the minimum hamming distances from seven different partial sequences having lengths 6 in 1, 1) are shown. For example, since the sequence 010111 is a partial sequence of the cyclic main sequence M, the minimum Hamming distance is “0”, but it is not included in the auxiliary sequence M * , and even in the partial sequence with the closest distance, 1 bit is different.
  • the minimum hamming distance is “1”. Whether the number sequence determined from the mark image is based on the cyclic main number sequence M by checking the number sequence of length 6 determined from the read mark image based on Table 1 and determining the minimum Hamming distance Whether it is based on the sequence M * can be identified.
  • the sequence determined from the mark image may include an error.
  • Table 2 shows the minimum Hamming distance in the case of a sequence having a length of 7
  • Tables 3a and 3b similarly determine the minimum Hamming distance in the case of a sequence of length of 8.
  • a number sequence having a length longer than 8 can be considered similarly.
  • the partial number sequence of the cyclic main number sequence obtained by determination from the mark image There are 6 or more number sequences having a length of 6 or more in each of the x direction and the y direction. Therefore, it is possible to expect improvement in tolerance against errors by comprehensively judging from a plurality of read sequences. For example, a minimum Hamming distance is obtained for a plurality of read number sequences based on Tables 1 to 3, and a sum of the obtained plurality of minimum Hamming distances is obtained to determine whether the number is based on a cyclic main number sequence M or an auxiliary number sequence M * . By determining whether it is based on the sum of the minimum Hamming distances, it is possible to improve resistance to errors in determining the rotation angle of the mark image.
  • the rotation of the mark image in units of 90 degrees can be detected and the rotation can be removed.
  • the number sequence S (x) is a number sequence composed of mx (x, y), mx (x, y + 1), ..., mx (x, y + 5).
  • the sequence S (x) corresponds to a partial sequence of the cyclic main number sequence M.
  • Table 4 shows the partial number sequence having the closest hamming distance among seven different partial number sequences having a length of 6 included in the cyclic main number sequence M, the Hamming distance, and the circulation, with respect to the obtained number sequence S (x)
  • the location p (x) of the partial number sequence in the main number sequence M is shown.
  • the number sequence S (x) that is blank in Table 4 has a plurality of partial number sequences in which the Hamming distances from seven different partial number sequences included in the cyclic main number sequence M are equal, and the Hamming distance is the largest. It is a sequence that cannot identify a nearby partial sequence.
  • Table 4 seven different partial sequences included in the cyclic main number sequence M, and a number sequence in which only one term is incorrect are separated from each other without overlap. That is, seven different partial number sequences included in the cyclic main number sequence M are identified by allowing an error in one term.
  • a necessary condition for having this property is “K + K * (b ⁇ 1) * N ⁇ b N ” in the above-described equation [1].
  • a sequence having a length of 7 corresponding to the cyclic main number sequence M is acquired from the mark image.
  • a sequence of 7 consecutive lengths arranged in the y direction starting from the coordinates (x, y) is S (x).
  • the sequence S (x) is a sequence consisting of mx (x, y), mx (x, y + 1), ..., mx (x, y + 6).
  • the sequence S (x) corresponds to a partial sequence of the cyclic main number sequence M.
  • Tables 5a and 5b show, with respect to the obtained number sequence S (x), the partial number sequence having the shortest Hamming distance among seven different partial number sequences having a length of 7 included in the cyclic main number sequence M, and the Hamming distance. And the location p (x) of the partial number sequence in the cyclic main number sequence M is shown. Note that the numerical sequence S (x) that is blank in Tables 5a and 5b has the same idea as in Table 4.
  • the same processing as described above may be performed.
  • the location p (x) of the partial number sequence in the cyclic main number sequence is specified using Tables 6a to 6d as described above. As can be seen from Table 6, even if an error with a Hamming distance greater than 1 occurs, the original partial sequence may be identified.
  • the locations p (x) to p (x + 5) in the circulation main number sequence M can be obtained for the number sequences S (x) to S (x + 5) acquired from the mark image.
  • mod 2 is a remainder obtained by dividing by 2
  • the difference number d (x) corresponds to the term of the primary number sequence
  • the first difference number dc (1, x) corresponds to the term a1 (x) of the first secondary number sequence A1
  • the second difference number dc (2, x) corresponds to the term a2 (x) of the second secondary number sequence A2.
  • the second A place p2 where a sequence of length 5 consisting of the difference numbers dc (2, x) to dc (2, x + 4) is detected in the second secondary sequence A2 is obtained.
  • P is a place where a sequence having a length of 5 consisting of the difference numbers d (x) to d (x + 4) is detected in the primary number sequence, it is between the place P and the places p1 and p2.
  • the relationship is as follows.
  • place P is congruent with place p1 modulo l1 and place P is congruent with place p2 modulo l2.
  • l1 is the length of the first secondary number sequence
  • l2 is the length of the second secondary number sequence.
  • a plurality of number sequences are extracted from a mark image acquired by reading or the like, and locations where the extracted number sequences are detected as partial number sequences in the cyclic main number sequence are obtained.
  • the number of differences between adjacent locations among the plurality of locations in the obtained circulation main number sequence is obtained, and this difference number is further decomposed into a plurality of difference numbers.
  • a place where a number sequence consisting of each decomposed difference number is detected as a partial number sequence in the secondary number sequence is obtained, and the mark image is arranged based on the Chinese remainder theorem from the locations in the plurality of secondary number sequences.
  • Position can be obtained. Further, by applying the method of the present embodiment to each dimension of two or more dimensions, a coordinate position of two or more dimensions can be represented.
  • the present disclosure in particular, in the case where the mark image of N * N ranges representing the coordinate position of the two-dimensional plane, the length K of the cyclic main number sequence, condition K + K * (b-1 ) * N ⁇ b N to meet the
  • a position code having excellent resistance to errors a position code reading device, a position code reading method, a method for generating a position code, and a method for decoding the read position code are provided.
  • the present disclosure provides a function and method for removing uncertainty due to rotation of a mark image, and a function and method for correcting an error in a cyclic main number sequence.
  • the present disclosure can provide a computer program for executing a method for generating a position code excellent in error resistance or a method for decoding a read position code, and a product using the position code.
  • the position code reading apparatus and reading method of the present disclosure can be used as an electronic pen or the like for optically or electronically identifying a coordinate position, and is particularly useful when it is desired to improve resistance to errors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 位置コードを、基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列をそれぞれ所定量に従ってシフトさせて一次元方向に複数配置した構成とする。読み取り部では、複数の循環主数列の少なくとも隣接する2つから「K+K*(b-1)*N≦b」を満足する長さNの部分数列を、それぞれ読み取る。判定部では、読み取られた長さNの部分数列の各々について、循環主数列中における場所を判定する。取得部では、判定された場所に基づいて、位置コードの読み取り位置に付与されている位置情報を取得する。

Description

位置コードの読み取り装置及び読み取り方法
 本開示は、位置コードの読み取り装置及び読み取り方法に関し、さらには位置コードを生成する方法、読み取った位置コードを復号する方法、これらの方法を実行するためのコンピュータプログラム、並びに位置コードが用いられる製品等に関する。
 面上に設けられた位置コードを利用して面内の位置を特定する技術は、すでに考案されている。この技術としては、例えば、特許文献1に記載された位置コードの生成方法及び復号方法が知られている。以下に、この特許文献1に記載された従来の方法を簡単に説明する。
 特許文献1に記載された従来の方法は、位置コードを生成するために、主数列、一次数列、及び二次数列の3種類の数列を用いている。また、特許文献1は、グラフィカルな位置コードを生成して紙面に印刷し、それを電子ペンに備えられた入力部によって光学的に読み取り、読み取った位置コードに基づいて座標位置を判別する方法について記載している。
 特許文献1において、主数列としては、長さが63の2進数による数列が例示されている。主数列の末端に同一の主数列の始端を連結して生成された数列を、循環主数列と呼ぶ。特許文献1における循環主数列は、循環主数列中の長さが6の任意の部分数列について、該部分数列の主数列に対する場所を明確に決定することができる数列である。ここで、部分数列の主数列に対する場所とは、主数列の先頭に対する部分数列の先頭の所定の方向へのずれを主数列の長さで除算した場合の剰余に該当する。すなわち、主数列の長さが63のである循環主数列中から抽出された長さが6の任意の部分数列について、該抽出された部分数列の場所を0~62の範囲で特定することができる。
 2つ以上の主数列は、それぞれ指定された循環移動量に応じた所定の方向への移動(シフト)を施され、順次隣り合って循環主数列として配置される。隣接する2つの循環主数列間の循環移動量の差を、差分数と呼ぶ。この差分数は、隣接して配置された2つの循環主数列からずれが等しい部分数列をそれぞれ抽出し、抽出した2つの部分数列について主数列に対する場所をそれぞれ特定し、特定した2つの場所の差分を求めることによって得られる。なお、上記説明におけるずれが等しい部分数列とは、各循環主数列の先頭から各部分数列の先頭までのずれ量(ずれ幅)が等しい部分数列を意味している。なお、ずれが等しい部分数列は、上記の定義に限られるものではなく、循環主数列間の差分数を適切に特定できるものであればよい。例えば、二次元平面に配置された位置コードの二次元平面内での位置関係により対応付けされる部分数列や、三次元空間内に配置された位置コードの三次元空間中の位置関係により対応付けされる部分数列であってもよい。特許文献1では、差分数としては5~58の値を用いることが例示されている。差分数を項とする数列は一次数列をなす。
 差分数は、混合基数に基づいて複数の桁に分解される。各桁の値を項とする数列は、二次数列と定義されている。特許文献1では、混合基数として下位の基数から順に3、3、2、3が例示されている。すなわち、1つの一次数列から導出される二次数列の数は4である。4つの二次数列は、それぞれ循環主数列によって構成されるが、各循環主数列を構成する基となる主数列の長さは、互いに素(1以外の公約数を持たない)となるように設定されている。特許文献1では、4つの二次数列において循環主数列を構成する基となる主数列の長さとして、それぞれ236、233、31、241が例示されている。
 4つの二次数列は、いずれも二次数列から長さが5の部分数列を取得することで、二次数列中の場所を特定することができる。この二次数列中の場所が所望の位置情報を示している。
 以上説明した、複数の循環主数列の並びを位置コードといい、位置情報を符号化することによって位置コードを生成する。また、読み取り等によって取得された所定の範囲の位置コードから位置情報を推定することができる。これを位置コードの復号という。
 また、特許文献1に記載された従来の方法では、二次元平面において位置情報を推定する場合に、位置コードが回転してしまうと読み取る部分数列が不確かになるという影響(以下、回転による不確定性という)を除去するため、位置情報を推定するために必要な部分数列の長さより長い部分数列を取得している。例えば、長さ6の部分数列から位置情報を推定している上記の例において、回転による不確定性を除去するために、長さ8の部分数列を取得している。
特表2004-535011号公報
 しかしながら、上記特許文献1に記載された従来の方法では、循環主数列から取得した(読み取った)部分数列に誤りが含まれていた場合、部分数列の主数列に対する場所を誤って認識し、最終的に位置コードの復号すなわち位置情報の推定を誤ってしまうという課題を有していた。また、上記従来の方法では、回転による不確定性を除去するために、位置情報の推定に必要な部分数列の長さよりも長い部分数列を取得する(読み取る)必要があった。
 そこで、本開示では、誤りに対する耐性の向上や回転による不確定性の除去の改善を図った、位置コードの読み取り装置及び読み取り方法について説明を行う。
 本開示の位置コードを読み取る装置は、位置コードを、基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列をそれぞれ所定量に従ってシフトさせて一次元方向に複数配置した構成とし、複数の循環主数列の少なくとも隣接する2つから「K+K*(b-1)*N≦b(b、K、Nは、2以上の整数)」を満足する長さNの部分数列をそれぞれ読み取る読み取り部、読み取られた長さNの部分数列の各々について、循環主数列中における場所を判定する判定部、及び判定された場所に基づいて、位置コードの読み取り位置に付与されている位置情報を取得する取得部を備えている。
 本開示の位置コードの読み取り装置及び読み取り方法によれば、読み取った部分数列に含まれる誤りに対する耐性の向上や回転による不確定性の除去を期待できる。
図1Aは、本実施形態におけるX方向に配置した位置コードの例を模式的に示した図である。 図1Bは、本実施形態におけるY方向に配置した位置コードの例を模式的に示した図である。 図2は、本実施形態における位置コードをグラフィカルなマーク像を用いて配置させた例を示す図である。 図3は、x-y平面に形成されたマーク像の一例を示した図である。 図4は、マーク像を光学的に読み取る状況を模式的に示した図である。 図5は、図4のマーク像をx-y平面に沿った方向に回転した例を示した図である。 図6は、マーク像が回転していない正規位置における位置コードの判定を説明する図である。 図7は、図6のマーク像が正規位置から時計周りに90度回転している位置における位置コードの判定を説明する図である。 図8は、図6のマーク像が正規位置から時計周りに180度回転している位置における位置コードの判定を説明する図である。 図9は、図6のマーク像が正規位置から時計周りに270度回転している位置における位置コードの判定を説明する図である。 図10は、本実施形態における位置コードを読み取る装置の概略構成を例示する図である。
 <本発明の基礎となった知見>
 特許文献1に開示された従来の方法では、循環主数列から読み取った部分数列に誤りが含まれていた場合、部分数列の主数列に対する場所を誤って認識して最終的に位置コードの復号すなわち位置情報の推定を誤ってしまうという問題を有していた。また、従来の方法では、回転による不確定性を除去するために、位置情報の推定に必要な部分数列の長さよりも長い部分数列を読み取る必要があるという問題を有していた。
 <本発明者らが着目した手法>
 そこで、本発明者らは、部分数列の識別不良や回転による不確定性等が原因で、読み取った部分数列に誤りが含まれていたとしても、読み取った部分数列から正しい部分数列を効果的に取得することができる手法を新たに創案した。
 この新たな創案に基づいた本発明の様々な態様は、次の通りである。
 <発明の各態様の概要>
 発明に基づいた本開示の一態様による位置コードを読み取る装置は、例えば光学的又は電子的に座標位置を識別する電子ペン等の装置に組み込まれる。本開示の一態様による読み取る装置は、位置コードを、基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列をそれぞれ所定量に従ってシフトさせて一次元方向に複数配置した構成とし、複数の循環主数列の少なくとも隣接する2つから「K+K*(b-1)*N≦b(b、K、Nは、2以上の整数)」を満足する長さNの部分数列をそれぞれ読み取る読み取り部、読み取られた長さNの部分数列の各々について、循環主数列中における場所を判定する判定部、及び判定された場所に基づいて、位置コードの読み取り位置に付与されている位置情報を取得する取得部を備えている。例えば、図10を参照。
 この一態様によれば、読み取った部分数列に含まれる誤りに対する耐性の向上や回転による不確定性の除去を期待できる。
 他の一態様としては、例えば、判定部が、読み取られた長さNの部分数列の各々についてK通りの固有部分数列の中から読み取られた長さNの部分数列とのハミング距離が最も小さい固有部分数列を特定して循環主数列中における場所を判定することができる。また、取得部が、判定された場所について隣接する循環主数列間の場所の差分を一次数列として求め、一次数列を混合基数で表したときの各桁の数値を複数の二次数列として求め、複数の二次数列からそれぞれ取得した長さL(Lは2以上の整数、例えばL=N-1)の部分数列の各々について二次数列中における場所を判定し、この場所に基づいて位置コードの読み取り位置に付与されている位置情報を取得することができる。
 この他の一態様によれば、読み取った部分数列に含まれる誤りに対する耐性の向上を効果的に実現することができる。
 他の一態様としては、例えば、判定部が、読み取られた長さNの部分数列の各々について、循環主数列との最小ハミング距離と循環主数列の極性を反転させかつ並びを逆順にした補助数列との最小ハミング距離とを算出し、補助数列との最小ハミング距離が循環主数列との最小ハミング距離よりも小さい場合に読み取られた長さNの部分数列に対して回転除去処理を施したり、循環主数列との最小ハミング距離を算出して合計し、補助数列との最小ハミング距離を算出して合計し、補助数列との最小ハミング距離の合計値が循環主数列との最小ハミング距離の合計値よりも小さい場合に、読み取られた長さNの部分数列に対して回転除去処理を施したり、することができる。例えば、判定部は、算出された最小ハミング距離又はその合計値に基づいて、90度単位で位置コードに生じている回転の影響を補正することができる。
 この一態様によれば、回転による不確定性の除去を効果的に実現することができる。
 さらに、本開示の他の一態様としては、上述した位置コードを読み取り可能に形成した製造物、位置コードを読み取る方法や生成する方法、これらの方法を実行するプログラムがコンピュータ読み取り可能に記録された媒体等、も考えられる。
 <発明の各態様の詳細な説明>
 [位置コードの生成に関する説明]
 位置コードは、1以上の次元における位置情報を符号化するために用いられる。本実施形態では、一般性を損なわない範囲で、まず一次元(例えばx方向)について考察する。
 上述したように、本実施形態で使用する循環主数列は、予め定めた基数及び長さの主数列をその末端と始端と複数連結させた構成であり、所定長さの異なる複数の部分数列によって主数列に対する場所が特定できるという性質を有する。さらに、上述の異なる複数の部分数列のそれぞれは、部分数列内の1つの項が異なった数列になっても複数の部分数列のいずれにも一致しないという性質を有する。
 ここで、主数列の基数をb、主数列の長さ(循環主数列の循環長さ)をK、循環主数列中の部分数列の長さをNと規定する。循環主数列中における互いに異なる部分数列の数は、主数列の長さに一致するためK通り存在する。基数bかつ長さNの部分数列において、部分数列中の1つの項が異なる数列は、(b-1)*N通り存在する。一方、基数bかつ長さNの部分数列は、bN 通り存在する。前述したように、互いに異なるK通りの部分数列とK通りの部分数列内の1つの項が異なった数列とが互いに異なる性質を有するための必要条件は、下記式[1]となる。
  K+K*(b-1)*N≦bN  … [1]
 この式[1]の条件によって、部分数列中の1つの項の誤りを許容して、循環主数列に対する部分数列の場所を一意に決定することができる。
 以下、本実施形態において、主数列の基数b=2、主数列の長さK=7、部分数列の長さN=6である場合を例に説明する。この場合、式[1]の左辺はK+K*(b-1)*N=7+7*1*6=49であり、式[1]の右辺はbN =26 =64であるため、上記式[1]の必要条件を満たしている。
 一方、特許文献1で開示されている実施例は、主数列の基数b=2、主数列の長さK=63、部分数列の長さN=6であるため、式[1]の左辺はK+K*(b-1)*N=63+63*1*6=441であり、式[1]の右辺はbN =26 =64であるため、上記式[1]の必要条件を満たしていない。
 本実施形態において、基数b=2かつ長さK=7の主数列Mを、例えば次の数列と仮定する。
  M=「0,0,1,0,1,1,1」
 このとき、主数列Mを循環させた循環主数列において、長さN=6の互いに異なる7通りの部分数列と主数列に対する場所とは、以下の関係を有することになる。
     部分数列       主数列に対する場所
  0,0,1,0,1,1  →   0
  0,1,0,1,1,1  →   1
  1,0,1,1,1,0  →   2
  0,1,1,1,0,0  →   3
  1,1,1,0,0,1  →   4
  1,1,0,0,1,0  →   5
  1,0,0,1,0,1  →   6
 位置コードは、面内や空間内での位置に従って決定される循環移動量をそれぞれ与えた複数の循環主数列を配置することによって、位置情報を符号化したものである。具体的には、循環移動量に従って各々シフトした複数の循環主数列は、位置情報を符号化したい次元(例えば、x-y平面におけるx方向)に並んで配置され、各循環主数列の数列は該符号化したい次元と直交する次元(例えば、x-y平面におけるy方向)に延びることとなる。
 上述の複数の循環主数列あるいはその一部は、実際にはそれらの値が明示的に印刷や表示がなされないかもしれないが、それらの値はグラフィカルに印刷や表示がなされてもよい。それらの数列を表現する手段は様々であり、限定されるべきではない。
 図1Aは、x-y平面においてx方向の位置コードを符号化した例を示している。図1Aでは、x方向と直交するy方向(x方向の位置コードに関しては「x’方向」と定義する)に延びた複数の循環主数列(図1Aの例では7つの数列x~x+6)が、x方向に並んで配置されている様子を図示している。図1Aにおいて、各循環主数列における破線で囲った箇所は長さN=6の部分数列S(X)をそれぞれ示しており、その部分数列S(X)が示す主数列に対する場所をp(X)と表している。図1Aに示す7つの循環主数列x~x+6の各先頭にある部分数列S(x)~S(x+6)の主数列に対する場所p(x)~p(x+6)は、上述した関係に基づいてそれぞれ0,1,3,6,0,6,1になる。
 ここで、隣接する場所p(X)間の差分数d(X)を、下記式[2]で表すものとする。なお、「mod K」は、Kを法とする演算を表す。主数列の長さKは7である。
  d(x)={p(x+1)-p(x)}mod K … [2]
 上記式[2]に従って図1Aの例による差分数d(x)~d(x+5)の値を求めると、それぞれ1,2,3,1,6,2となる。この差分数d(X)の並びからなる数列を一次数列と呼び、この一次数列内の長さが5の差分数列(例えば、差分数d(x)~d(x+4))は、一次数列の部分数列を与える。複数の循環主数列から選択される部分数列が図1Aに示した先頭以外の部分であった場合、場所p(x)~p(x+6)の値は異なる値になるものの、場所p(x)~p(x+6)には一様な値がKを法として加算されるため、結局のところ差分数d(x)~d(x+5)の値を求めれば上述と同じ1,2,3,1,6,2を得ることとなる。
 一次数列は基数がKの数列であり、長さ5の差分数列は最大でKの順列が存在する。例えばK=7の場合、長さ5の差分数列は最大で7=16807の順列が存在する。よって、一次数列の部分数列として長さ5の差分数列が一意に決定できれば、最大で長さが16807の一次数列を設計可能であり、一次数列によって0~16806の範囲でx方向の位置を表現可能である。しかしながら、取得された長さ5の差分数列から一次数列中の場所を演算により求めることは困難であり、一般的には長さ5の差分数列から一次数列中の場所に変換するテーブルを使用する。このため、長い一次数列を使用する場合、一次数列の長さに比例した大きな変換テーブルが必要になるという問題がある。
 この問題を解決するために、一次数列より長さが短い複数の二次数列を用いることが考えられる。より短い長さの二次数列は、その部分数列から一次数列中の場所へ変換するためのテーブルを大幅に縮小できる。複数の二次数列の組み合わせによって、一次数列が表現可能な位置の最大の範囲に近い範囲を表現可能である。
 この複数の二次数列は、以下のように決定され得る。まず、差分数d(X)は、少なくとも2つ以上の異なる数に因数分解できる範囲に限定される。前述の主数列の長さがK=7である例においては、差分数d(X)の数は6に限定され、2*3として因数分解される。部分数列と位置との関係を保持する変換テーブルを縮小するという目的においては、因数の最大値を可能な限り小さく選択すると好適である。次に、二次数列の数は、差分数を因数分解した要素の数とする。この例において、二次数列の数は2である。さらに、二次数列は差分数を因数分解して得られた要素をそれぞれの基数として構成される。
 同じ長さが5の部分数列が二次数列における特有の場所を表すならば、二次数列の最大の長さはそれぞれ2=32及び3=243である。複数の二次数列の長さは、互いに素になる(1以外の約数を持たない)ように、前述の最大の長さ以下の範囲で選択される。このように長さが選択された各二次数列から得られる部分数列の組み合わせは、全ての二次数列の長さの積の範囲において特有であることを意味する。
 本実施の形態において、2つの二次数列A1及びA2を仮定する。二次数列A1は基数が2で長さが31の数列であり、二次数列A2は基数が3で長さが241の数列である。二次数列A1及びA2を以下に示す。この場合、2つの二次数列によって表現可能な範囲は31*241=7471となる。
A1=0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1
A2=0,0,0,0,0,1,0,2,0,0,0,0,2,0,0,2,0,1,0,0,0,1,1,2,0,0,0,1,2,0,0,2,1,0,0,0,2,1,1,2,0,1,0,1,0,0,1,2,1,0,0,1,0,0,2,2,0,0,0,2,2,1,0,2,0,1,1,0,0,1,1,1,0,1,0,1,1,0,1,2,0,1,1,1,1,0,0,2,0,2,0,1,2,0,2,2,0,1,0,2,1,0,1,2,1,1,0,1,1,1,2,2,0,0,1,0,1,2,2,2,0,0,2,2,2,0,1,2,1,2,0,2,0,0,1,2,2,0,1,1,2,1,0,2,1,1,0,2,0,2,1,2,0,0,1,1,0,2,1,2,1,0,1,0,2,2,0,2,1,0,2,2,1,1,1,2,0,2,1,1,1,0,2,2,2,2,0,2,0,2,2,1,2,1,1,1,1,2,1,2,1,2,2,2,1,0,0,2,1,2,2,1,0,1,1,2,2,1,1,2,1,1,2,2,2,2,1,2,0,1,2,2,1,2,2,0,2,2,2,1,1
 例えば、2つの二次数列A1及びA2の場所Xにおける項をそれぞれa1(X)及びa2(X)とする。また、差分数d(X)と二次数列の項a1(X)及びa2(X)との関係を、d(X)=a2(X)*2+a1(X)+1とする。図1Aにおいて、第1の二次数列a1(x)~a1(x+5)として0,1,0,0,1,1が、第2の二次数列a2(x)~a2(x+5)として0,0,1,0,2,0が例示されている。
 図1Aにおいて、第1の二次数列の長さが5の部分数列a1(x)~a1(x+4)、すなわち数列0,1,0,0,1は二次数列A1における先頭からの場所「4」に見出される。また、第2の二次数列の長さが5の部分数列a2(x)~a2(x+4)、すなわち数列0,0,1,0,2は二次数列A2における先頭からの場所「3」に見出される。
 ここまで一次元(例えばx方向)に対して説明した位置コードの符号化の手法は、二次元(例えばx-y方向)に対しても同様の原理によって実行され得る。図1Bは、x-y平面においてy方向の位置コードを符号化した例を示している。図1Bでは、y方向と直交するx方向(y方向の位置コードに関しては「y’方向」と定義している)に延びた複数の循環主数列(図1Bの例では7つの数列y~y+6)が、y方向に並んで配置されている様子を図示している。二次元におけるy方向の位置コードの符号化に用いられる主数列、一次数列、二次数列は、一次元(x方向)の位置コードの符号化に用いられたものと異なるものを用いてもよいが、本実施の形態の例においては、同じものが用いられるものとする。
 次に、二次元平面における位置コードの符号化について考察する。二次元平面としてここではx-y平面を取り扱う。x方向の位置コードとy方向の位置コードが重ね合わされた場合、x-y平面の各座標位置において、x方向の位置コードの1ビットとy方向の位置コードの1ビットとが存在する。そのため、各座標位置において(0,0)、(0,1)、(1,0)、及び(1,1)の4通りの2ビットの組を利用する。これら4通りの2ビットの組は、例えば、それぞれ図2の(a)~(d)に示したようにグラフィカルに符号化され得る。図2の(a)~(d)において、マーク22は、座標格子21を基準線として、基準線に対する位置でx方向の位置コードの1ビットとy方向の位置コードの1ビットとの組を表している。座標格子21は、明示的には印刷あるいは表示される必要はない。図3は、x-y平面の一部における、位置コードに基づいて生成された複数のマーク22によるパターンであるマーク像を概略的に例示したものである。もちろん、図2の(a)~(d)とは異なるタイプのグラフィカルな符号化がなされてもよい。
 位置コードをグラフィカルに符号化されたマーク像は、例えば読み取り装置に設けられた光学的な入力部において光学的に読み取られる。光学的な入力部としては、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semicon)等の素子が考えられるが、マーク像を光学的に読み取り可能であればどのような素子で構成されていてもよい。なお、本実施形態ではグラフィカルな位置コードを生成し、当該位置コードを光学的に読み取る構成を例に挙げて説明したが、本開示の位置コードはこれに限定されるものではない。位置コードは、循環主数列の基数bに応じた数の状態を提示し、この状態を読み取り装置において読み取り可能なものであれば何でもよい。例えば、位置コードは、電気的に提示され、電気的に読み取られてもよい。また、位置コードは、化学的又は音響的に提示され、それぞれに応じた入力部に読み取られてもよい。
 [位置コードの復号に関する説明]
 以下では、前述のx-y平面を表す位置コードを例に、該位置コードの復号方法について説明する。なお、以下で説明する復号方法は、読み取り装置に設けられた取得部において実施されてもよいし、読み取り装置と有線又は無線通信により接続された外部の装置において実施されてもよい。また、以下で説明する復号方法の一部が読み取り装置によって実施され、それ以外の一部が外部の装置において実施されてもよい。
 本実施形態における復号方法では、前述の位置コードを用いることで、少なくとも縦横共にマーク6つ分となる「6*6の範囲」のマーク像を読み取って位置情報を復号することができる。
 [マーク像の回転の除去]
 図4の(a)は、6*6の範囲のマーク像を光学的に読み取る状況を模式的に示した図である。図4の(a)において、破線の格子は座標格子を表している。座標格子は明示的には表示されないかもしれない。位置コードを表すマーク像は、図示されていないが、この座標格子に沿って印刷されている(例えば図3を参照)。図4の(a)は、マーク像を光学的に読み取る際に、x-y平面内において回転して読み取られている状況を表している。読み取ったマーク像がx-y平面内でどのように回転されていても6*6の範囲のマーク像を読み取るためには、少なくとも6*6のマーク像を含む円の範囲(図4の(a)に示した円の範囲)の画像を取得すればよい。もちろん、それ以上の範囲の画像を取得してもよく、円形ではなく例えば矩形の範囲の画像を取得してもよい。好ましくは、例えば6*6の範囲のマーク像を含む円内の画像を取得する場合、図4の(b)に示すように、6*6の範囲のマークと共に範囲外のマークも含んだマーク像を読み取ることができている可能性も考慮すべきである。
 以下に、読み取られたマーク像の回転を除去する方法について説明する。まず、図5に示すように、取得した画像をx-y座標に沿った方向に回転する。しかしながら、この時点では画像の90度単位の回転による不確定性が残る。そこで、画像の90度単位の回転による不確定性の除去について説明する。
 図6~図9は、マーク像に含まれるマークの位置コードの判定について説明する図である。図6は、マーク像が回転していない正規位置の状態で読み取られた場合を、図7は、マーク像が正規位置から時計周りに90度回転した状態で読み取られた場合を、図8は、マーク像が正規位置から時計周りに180度回転した状態で読み取られた場合を、図9は、マーク像が正規位置から時計周りに270度回転した状態で読み取られた場合を、それぞれ説明する図である。
 図6~図9の各々において、位置コードmxは、x方向の位置コードであり、位置コードmyは、y方向の位置コードである。読み取り状態は、位置コードmxと位置コードmyとのビット値の組に応じてグラフィカルに符号化されたマークを、各々の角度で回転させて読み取った時の状態を表している。破線は、座標格子を表している。x’矢印は、位置コードmxの循環主数列が並ぶ正しいx’方向を示し、y’矢印は、位置コードmyの循環主数列が並ぶ正しいy’方向を示している。x”矢印は、位置コードmxの循環主数列が並んでいると判定される方向を示し、y”矢印は、位置コードmyの循環主数列が並んでいると判定される方向を示している。判定位置コードm’xは、x”矢印方向に基づいて判定されたx方向の位置コードであり、判定位置コードm’yは、y”矢印方向に基づいて判定されたy方向の位置コードである。
 図6に示すマーク像が無回転で読み取られた場合では、読み取ったマーク像のグラフィカルな位置が正規位置と一致する。よって、判定位置コードm’x及びm’yは、位置コードmx及びmyと同じビット値となる。また、読み取ったマーク像について位置コードの循環主数列が並んでいると判定されるx”方向及びy”方向は、x’方向及びy’方向と同じになる。
 図7に示すマーク像が正規位置から時計周りに90度回転した状態で読み取られた場合では、読み取ったマーク像のグラフィカルな位置が正規位置(破線丸印)と異なる。よって、このように異なったグラフィカルな位置で位置コードを判定した結果、判定位置コードm’xには位置コードmyのビット値が表れ、判定位置コードm’yには位置コードmxが反転したビット値が表れる。加えて、この判定位置コードm’yの循環主数列が並んでいると判定されたy”方向は、位置コードmxの循環主数列が並んでいるx’方向と180度反対であるため、判定位置コードm’yは、位置コードmxのビット値(極性)が反転してかつ逆順で並んだ循環主数列となる。
 図8に示すマーク像が正規位置から時計周りに180度回転した状態で読み取られた場合では、読み取ったマーク像のグラフィカルな位置が正規位置(破線丸印)と真反対となる。よって、このように異なったグラフィカルな位置で位置コードを判定した結果、判定位置コードm’xには位置コードmxが反転したビット値が表れ、判定位置コードm’yには位置コードmyが反転したビット値が表れる。加えて、判定位置コードm’xの循環主数列が並んでいると判定されたx”方向は、位置コードmxの循環主数列が並んでいるx’方向と180度反対であるため、判定位置コードm’xは、位置コードmxのビット値(極性)が反転してかつ逆順で並んだ循環主数列となる。また、判定位置コードm’yの循環主数列が並んでいると判定されたy”方向は、位置コードmyの循環主数列が並んでいるy’方向と180度反対であるため、判定位置コードm’yは、位置コードmyのビット値(極性)が反転してかつ逆順で並んだ循環主数列となる。
 図9に示すマーク像が正規位置から時計周りに270度回転した状態で読み取られた場合では、読み取ったマーク像のグラフィカルな位置が正規位置(破線丸印)と異なる。よって、このように異なったグラフィカルな位置で位置コードを判定した結果、判定位置コードm’xには位置コードmyが反転したビット値が表れ、判定位置コードm’yには位置コードmxのビット値が表れる。加えて、この判定位置コードm’xの循環主数列が並んでいると判定されたx”方向は、位置コードmyの循環主数列が並んでいるy’方向と180度反対であるため、判定位置コードm’xは、位置コードmyのビット値(極性)が反転してかつ逆順で並んだ循環主数列となる。
 以上のように、読み取られたマーク像が90度単位の回転を起こしている場合(図7、図8、図9)、x’方向又はy’方向のいずれか一方又は両方に、ビット値(極性)が反転されかつ並びが逆順になった位置コードの循環主数列が検出される。よって、この位置コードの循環主数列のビット値(極性)及び並び順を適切に処理すれば、マーク像の回転による不確定性を除去することができる。以下に、循環主数列の極性及び並び順を判定する方法について詳しく説明する。
 表1は、長さが6の全ての数列と、上述した循環主数列M(0,0,1,0,1,1,1)中の長さが6の互いに異なる7通りの部分数列との最小ハミング距離(表1では最小距離と表示)、及びビット値(極性)が反転され並びが逆順になった循環主数列Mである補助数列M(0、0、0、1、0、1、1)中の長さが6の互いに異なる7通りの部分数列との最小ハミング距離を、それぞれ示す。例えば、数列010111は、循環主数列Mの部分数列であるため最小ハミング距離は「0」であるが、補助数列Mには含まれず、最も距離が近い部分数列でも1ビットが異なっており、最小ハミング距離は「1」である。読み取られたマーク像から判定された長さ6の数列を表1に基づいて検査し、最小ハミング距離を判定することで、マーク像から判定された数列が、循環主数列Mに基づくものか補助数列Mに基づくものかを識別することができる。ここで、マーク像から判定された数列は誤りを含んでいてもよい。表2は同様に長さが7の数列の場合、表3a及び3bは同様に長さが8の数列の場合における、最小ハミング距離を求めた表である。例示はしていないが、長さが8より長い数列についても同様に考えられる。
Figure JPOXMLDOC01-appb-T000001
Figure JPOXMLDOC01-appb-T000002
Figure JPOXMLDOC01-appb-T000003
Figure JPOXMLDOC01-appb-T000004
 本実施形態では、図4で説明したように6*6の範囲のマークと共に範囲外のマークを含んだマーク像を取得しているため、マーク像から判定して得られる循環主数列の部分数列に対応する数列は、x方向及びy方向のそれぞれについて、長さが6以上の数列が6個以上ある。従って、読み取られた複数の数列から総合的に判断することで、誤りに対する耐性の向上が期待できる。例えば、読み取られた複数の数列について表1乃至表3に基づいて最小ハミング距離を求め、求められた複数の最小ハミング距離の総和を求めて、循環主数列Mに基づくものか補助数列Mに基づくものかを、最小ハミング距離の和に基づいて判定することで、マーク像の回転角の判定において誤りに対する耐性を向上させることができる。
 以上のようにして、マーク像の90度単位の回転を検出して、その回転を除去することができる。
 [循環主数列の誤り訂正と位置の推定]
 次に、循環主数列Mに対応する部分数列の誤り訂正について説明する。x方向の処理とy方向の処理は同じであるため、ここではx方向の処理についてのみ説明する。座標(x,y)においてマーク像から得られたx方向の位置コードmxを、mx(x,y)とする。位置コードmxについて、座標(x,y)を起点にy方向に配置された連続する長さが6の数列をS(x)とする。数列S(x)は、mx(x,y),mx(x,y+1),…,mx(x,y+5)からなる数列である。数列S(x)は、循環主数列Mの部分数列に対応する。表4は、得られた数列S(x)に対して、循環主数列Mに含まれる長さが6の互いに異なる7通りの部分数列のうち最もハミング距離が近い部分数列、そのハミング距離及び循環主数列M中の該部分数列の場所p(x)を示している。また、表4において空欄となっている数列S(x)は、循環主数列M中に含まれる互いに異なる7通りの部分数列からのハミング距離が等しくなる部分数列が複数存在し、最もハミング距離が近い部分数列を特定できない数列である。表4からもわかるように、循環主数列Mに含まれる互いに異なる7通りの部分数列、及びそれらの部分数列から1つの項だけ誤った数列は、それぞれ重複なく分離されている。すなわち、循環主数列Mに含まれる互いに異なる7通りの部分数列は、1つの項の誤りを許容して識別される。この性質を有するための必要条件は、上述した式[1]の「K+K*(b-1)*N≦b」となる。なお、表4には、循環主数列Mに含まれる互いに異なる7通りの部分数列及び該部分数列とのハミング距離が記載されているが、これらは必須ではなく、位置コードの復号においては少なくとも循環主数列M中の該部分数列の場所p(x)がわかればよい。
Figure JPOXMLDOC01-appb-T000005
 マーク像から循環主数列Mに対応する長さが7の数列を取得した場合の処理について考える。位置コードmxについて、座標(x,y)を起点にy方向に配置された連続する長さが7の数列をS(x)とする。数列S(x)は、mx(x,y),mx(x,y+1),…,mx(x,y+6)からなる数列である。数列S(x)は、循環主数列Mの部分数列に対応する。表5a及び5bは、得られた数列S(x)に対して、循環主数列Mに含まれる長さが7の互いに異なる7通りの部分数列のうち最もハミング距離が近い部分数列、そのハミング距離及び循環主数列M中の該部分数列の場所p(x)を示している。なお、表5a及び5bにおいて空欄となっている数列S(x)については、表4と同様の考えである。
Figure JPOXMLDOC01-appb-T000006
Figure JPOXMLDOC01-appb-T000007
 マーク像から循環主数列Mに対応する長さが8以上の数列を取得した場合も上記と同様に処理すればよい。例えば、長さが8の数列に対しては、上記と同様に表6a~6dを用いて循環主数列中の部分数列の場所p(x)を特定する。表6からもわかるように、ハミング距離が1より大きい誤りが発生しても、元の部分数列を特定できる場合がある。
Figure JPOXMLDOC01-appb-T000008
Figure JPOXMLDOC01-appb-T000009
Figure JPOXMLDOC01-appb-T000010
Figure JPOXMLDOC01-appb-T000011
 以上のように、マーク像から取得した数列S(x)~S(x+5)について、循環主数列M中の場所p(x)~p(x+5)を求めることができる。
 [差分数及び二次数列]
 次に、場所p(x)~p(x+5)から差分数d(x)~d(x+4)を、x~(x+4)の範囲で、上記式[2]の「d(x)=(p(x+1)-p(x))mod K」に従って求める。ここでは、K=7の場合を例に説明している。
 差分数d(x)は、「dc(1,x)=(d(x)-1)mod 2」に従って第1の差分数dc(1,x)に、「dc(2,x)=(d(x)-1)div 2」に従って第2の差分数dc(2,x)に、それぞれ変換される。ここで、mod 2は2で割った余り、div 2は2で割った商を求める演算である。すなわち、d(x)=1+dc(1,x)+2*dc(2,x)が成り立つ。一般に、m個の差分数dc(1,x)~dc(m,x)に変換する場合、下記式[3]となるように変換する。ここで、bは第mの二次数列の基数、Cは定数を表す。
  d(x)=C+dc(1,x)+b-*dc(2,x)+…
         +b*b*…*bm-1*dc(m,x) … [3]
 差分数d(x)は一次数列の項に対応し、第1の差分数dc(1,x)は第1の二次数列A1の項a1(x)に対応し、第2の差分数dc(2,x)は第2の二次数列A2の項a2(x)に対応する。
 次に、第1の差分数dc(1,x)~dc(1,x+4)からなる長さが5の数列が第1の二次数列A1の中で検出される場所p1、及び第2の差分数dc(2,x)~dc(2,x+4)からなる長さが5の数列が第2の二次数列A2の中で検出される場所p2を求める。一方、差分数d(x)~d(x+4)からなる長さが5の数列が一次数列の中で検出される場所をPとするとき、場所Pと場所p1及び場所p2との間には、次のような関係がある。
  P≡p1 mod l1
  P≡p2 mod l2
すなわち、場所Pはl1を法として場所p1と合同であり、また場所Pはl2を法として場所p2と合同である。ここで、l1は第1の二次数列の長さ、l2は第2の二次数列の長さである。
 場所p1及び場所p2から場所Pを求める方法は、中国の剰余定理として知られている。L=prod(i=1,m)liとし、qi*(L/li)≡1(mod li)とするとき、場所Pは次式[4]によって求められる。
 P=(sum(i=1,m)((l/li)*pi*qi))mod L …[4]
 本実施形態では、m=2、l1=31、l2=241であり、L=7471、q1=22、q2=70となることから、場所Pは場所p1と場所p2から次式で求めることができる。
 P=(5302*p1+2170*p2)mod 7471
 以上のように、本実施形態によれば、読み取り等によって取得されたマーク像から数列を複数抽出し、抽出した複数の数列が循環主数列の中に部分数列として検出される場所をそれぞれ求める。この求めた循環主数列中の複数の場所のうち隣り合う場所の差分数を求め、この差分数をさらに複数の差分数に分解する。そして、分解したそれぞれの差分数からなる数列が二次数列の中に部分数列として検出される場所を求め、複数の二次数列中の場所から中国の剰余定理に基づいて該マーク像が配置された位置を求めることができる。また、本実施形態の手法を二次元以上の各次元に適用することで、二次元以上の座標位置を表すことができる。
 本開示は、特に、N*N範囲のマーク像により二次元平面の座標位置を表す場合において、循環主数列の長さKを、条件K+K*(b-1)*N≦bN を満たすように設計することで、誤りに対する耐性に優れた位置コード、位置コードの読み取り装置、位置コードの読み取り方法、位置コードを生成する方法、及び読み取った位置コードを復号する方法を提供する。また、本開示は、マーク像の回転による不確定性の除去機能及びその方法、循環主数列への誤り訂正機能及びその方法を提供する。
 また、本開示は、誤りに対する耐性に優れた位置コードを生成する方法あるいは読み取った位置コードを復号する方法を実行するためのコンピュータプログラム、該位置コードが用いられる製品を提供することができる。
 本開示の位置コードの読み取り装置及び読み取り方法は、光学的あるいは電子的に座標位置を識別する電子ペン等として利用可能であり特に、誤りに対する耐性を向上させたい場合等に有用である。
21 座標格子
22 マーク

Claims (13)

  1.  位置コードを読み取る装置であって、
     前記位置コードは、基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列を、それぞれ所定量に従ってシフトさせて一次元方向に複数配置した構成からなり、
     前記複数の循環主数列の少なくとも隣接する2つから、下記式を満足する長さNの部分数列をそれぞれ読み取る読み取り部、
     前記読み取られた長さNの部分数列の各々について、前記循環主数列中における場所を判定する判定部、及び
     前記判定された場所に基づいて、前記位置コードの読み取り位置に付与されている位置情報を取得する取得部を備える、読み取り装置。
      [式] K+K*(b-1)*N≦b (b、K、Nは、2以上の整数)
  2.  前記判定部は、
     前記読み取られた長さNの部分数列の各々について、前記K通りの固有部分数列の中から、前記読み取られた長さNの部分数列とのハミング距離が最も小さい固有部分数列を特定し、
     前記特定された固有部分数列について前記循環主数列中における場所を判定する、請求項1に記載の読み取り装置。
  3.  前記取得部は、
     前記判定された場所について、隣接する前記循環主数列間の場所の差分を一次数列として求め、
     前記一次数列を混合基数で表したときの各桁の数値を、複数の二次数列として求め、
     前記複数の二次数列から長さL(Lは2以上の整数)の部分数列をそれぞれ取得し、
     前記取得した長さLの部分数列の各々について、前記二次数列中における場所を判定し、
     前記判定された場所に基づいて、前記位置コードの読み取り位置に付与されている位置情報を取得する、請求項1に記載の読み取り装置。
  4.  前記長さLは、L=N-1に設定される、請求項3に記載の読み取り装置。
  5.  前記判定部は、
     前記読み取られた長さNの部分数列の各々について、前記循環主数列との最小ハミング距離と、前記循環主数列の極性を反転させかつ並びを逆順にした補助数列との最小ハミング距離とを算出し、
     前記補助数列との最小ハミング距離が前記循環主数列との最小ハミング距離よりも小さい場合に、前記読み取られた長さNの部分数列に対して回転除去処理を施す、請求項1に記載の読み取り装置。
  6.  前記判定部は、
     前記読み取られた長さNの部分数列の各々について、前記循環主数列との最小ハミング距離を算出して合計し、前記循環主数列の極性を反転させかつ並びを逆順にした補助数列との最小ハミング距離を算出して合計し、
     前記補助数列との最小ハミング距離の合計値が前記循環主数列との最小ハミング距離の合計値よりも小さい場合に、前記読み取られた長さNの部分数列に対して回転除去処理を施す、請求項1に記載の読み取り装置。
  7.  前記判定部は、前記算出された最小ハミング距離に基づいて、90度単位で前記位置コードに生じている回転の影響を補正する、請求項5に記載の読み取り装置。
  8.  前記判定部は、前記算出された最小ハミング距離の合計値に基づいて、90度単位で前記位置コードに生じている回転の影響を補正する、請求項6に記載の読み取り装置。
  9.  位置コードを読み取る読み取り方法であって、
     前記位置コードは、基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列を、それぞれ所定量に従ってシフトさせて一次元方向に複数配置させた構成からなり、
     前記複数の循環主数列の少なくとも隣接する2つから、下記式の条件を満たす長さNの部分数列をそれぞれ読み取るステップ、
     前記読み取られた長さNの部分数列の各々について、前記循環主数列中における場所を判定するステップ、及び
     前記判定された場所に基づいて、前記位置コードの読み取り位置に付与されている位置情報を取得するステップを備える、読み取り方法。
      [式] K+K*(b-1)*N≦b (b、K、Nは、2以上の整数)
  10.  位置コードを有する製造物であって、
     基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列を、それぞれ所定量に従ってシフトさせて一次元方向に複数配置させた構成からなり、下記式の条件を満たす長さNの部分数列によって位置を一意に識別できる位置情報が付与されている位置コードが、読み取り可能に形成された、製造物。
      [式] K+K*(b-1)*N≦b (b、K、Nは、2以上の整数)
  11.  位置コードを生成する方法であって、
     位置を一意に識別できる位置情報を表した複数の二次数列を生成するステップ、
     前記複数の二次数列の各項を混合基数で表した一次数列を生成するステップ、
     基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列を生成するステップ、及び
     前記循環主数列を前記一次数列に基づいて付与される所定量に従ってシフトさせて一次元方向に複数配置するするステップによって、
     前記循環主数列における下記式の条件を満たす長さNの部分数列によって前記位置情報の取得が可能となる位置コードを生成する、方法。
      [式] K+K*(b-1)*N≦b (b、K、Nは、2以上の整数)
  12.  コンピュータ読み取り可能なプログラムが記録された媒体であって、
     基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列を、それぞれ所定量に従ってシフトさせて一次元方向に複数配置させた構成からなる位置コードに対して、
     前記複数の循環主数列の少なくとも隣接する2つから、下記式の条件を満たす長さNの部分数列をそれぞれ読み取るステップ、
     前記読み取られた長さNの部分数列の各々について、前記循環主数列中における場所を判定するステップ、及び
     前記判定された場所に基づいて、前記位置コードの読み取り位置に付与されている位置情報を取得するステップを、コンピュータに実行させるためのプログラムが記録された、記録媒体。
      [式] K+K*(b-1)*N≦b (b、K、Nは、2以上の整数)
  13.  コンピュータ読み取り可能なプログラムが記録された媒体であって、
     位置を一意に識別できる位置情報を表した複数の二次数列を生成するステップ、
     前記複数の二次数列の各項を混合基数で表した一次数列を生成するステップ、
     基数b及び長さKの主数列を循環させかつ所定長の固有部分数列をK通り含んだ循環主数列を生成するステップ、及び
     前記循環主数列を前記一次数列に基づいて付与される所定量に従ってシフトさせて一次元方向に複数配置するステップを、コンピュータに実行させて、
     前記循環主数列における下記式の条件を満たす長さNの部分数列によって前記位置情報の取得が可能となる位置コードを生成するプログラムが記録された、記録媒体。
      [式] K+K*(b-1)*N≦b (b、K、Nは、2以上の整数)
PCT/JP2013/003088 2012-05-31 2013-05-15 位置コードの読み取り装置及び読み取り方法 WO2013179595A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013556694A JP6029024B2 (ja) 2012-05-31 2013-05-15 位置コードの読み取り装置及び読み取り方法
US14/127,787 US9703404B2 (en) 2012-05-31 2013-05-15 Device and method for detecting position code
CN201380001822.5A CN103748536A (zh) 2012-05-31 2013-05-15 位置代码的读取装置以及读取方法

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2012-125278 2012-05-31
JP2012125280 2012-05-31
JP2012125279 2012-05-31
JP2012-125280 2012-05-31
JP2012125278 2012-05-31
JP2012-125279 2012-05-31

Publications (1)

Publication Number Publication Date
WO2013179595A1 true WO2013179595A1 (ja) 2013-12-05

Family

ID=49672824

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/003088 WO2013179595A1 (ja) 2012-05-31 2013-05-15 位置コードの読み取り装置及び読み取り方法

Country Status (4)

Country Link
US (1) US9703404B2 (ja)
JP (1) JP6029024B2 (ja)
CN (1) CN103748536A (ja)
WO (1) WO2013179595A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016122567A1 (en) * 2015-01-30 2016-08-04 Hewlett-Packard Development Company, L.P. M-ary cyclic coding
DE102016216221A1 (de) 2016-08-29 2018-03-01 Robert Bosch Gmbh Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung
US11152958B2 (en) * 2019-12-09 2021-10-19 Western Digital Technologies, Inc. Very low complexity SECDED codes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001071653A1 (en) * 2000-03-21 2001-09-27 Anoto Ab Method and system for storing a coding pattern
JP2005507535A (ja) * 2001-10-29 2005-03-17 アノト・アクティエボラーク 位置コーディングパターンをデコードするための方法およびデバイス
JP2006511864A (ja) * 2002-12-23 2006-04-06 アノト アイ ピー リック エイチ ビー コピー保護を提供する冗長な情報を含む情報コード

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE519277C2 (sv) * 2001-06-25 2003-02-11 Anoto Ab Anordning och förfarande för positionskodning och för avkodning av en positionskod
US6667695B2 (en) 2001-06-25 2003-12-23 Anoto Ab Position code
US7145556B2 (en) * 2001-10-29 2006-12-05 Anoto Ab Method and device for decoding a position-coding pattern

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001071653A1 (en) * 2000-03-21 2001-09-27 Anoto Ab Method and system for storing a coding pattern
JP2005507535A (ja) * 2001-10-29 2005-03-17 アノト・アクティエボラーク 位置コーディングパターンをデコードするための方法およびデバイス
JP2006511864A (ja) * 2002-12-23 2006-04-06 アノト アイ ピー リック エイチ ビー コピー保護を提供する冗長な情報を含む情報コード

Also Published As

Publication number Publication date
CN103748536A (zh) 2014-04-23
JP6029024B2 (ja) 2016-11-24
US20140139428A1 (en) 2014-05-22
US9703404B2 (en) 2017-07-11
JPWO2013179595A1 (ja) 2016-01-18

Similar Documents

Publication Publication Date Title
JP4556705B2 (ja) 2次元座標同定装置、画像形成装置及び2次元座標同定方法
JP6029024B2 (ja) 位置コードの読み取り装置及び読み取り方法
JP2006504360A (ja) 向きを示す巡回位置符号
JP2012003233A5 (ja)
WO2013166995A1 (zh) 一种矩阵式二维码的解码方法
JP2014041486A5 (ja)
JP5971098B2 (ja) 情報処理装置及び情報処理プログラム
US20210383085A1 (en) Multi-Axis Position Sensing System
US8019181B2 (en) Image generation apparatus, image processing apparatus, computer readable medium and computer data signal
Sagave Logarithmic structures on topological
CN103116871A (zh) 具有鲁棒性的双重脆弱数字水印的嵌入方法及其提取方法
EP2044558B1 (en) Position location using error correction
CN112184826A (zh) 一种标定板和标定方法
JP2005209694A (ja) 半導体ウェーハのidマーク認識方法
CN107102681A (zh) 一种条码中校验码的计算方法及条码的验证方法
Garcia-Morchon et al. The MMO problem
US8657205B2 (en) Image processing apparatus, identification apparatus, method for determining bit sequence and computer readable medium
JP4662367B2 (ja) 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置
JP2012063957A (ja) 画像処理装置、識別装置、電子筆記具及びプログラム
Lynd A characterization of the 2-fusion system of L4 (q)
CN107005403A (zh) 电子计算设备
Buchin et al. The number of convex polyominoes with given height and width
JP2011166429A (ja) 誤り訂正符号生成方法及びその装置、誤り検出/訂正方法及びその装置、画像生成方法、印刷物並びにプログラム
JP7109398B2 (ja) 画像表示媒体、画像処理装置、画像処理方法、及びプログラム
JP5307737B2 (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013556694

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14127787

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13796873

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13796873

Country of ref document: EP

Kind code of ref document: A1