POSITION INFORMATION

Abstract: A product has a surface which is provided with a position-coding pattern (3) which codes a plurality of positions on the surface. The position-coding pattern comprises a plurality of symbols (4) each of which has at least two different values. Each position on the surface is coded with a plurality of symbols. Each symbol comprises a raster point (6) which is included in a raster which extends over the surface, and at least one marking (7), the location of which in relation to the raster point specifies the value of the symbol. The markings can comprise information which is represented at more than one spatial resolution level and which information can vary between different markings. The position-coding pattern can be used in different contexts for position determination, for example in digitizing handwriting.

Description: POSITION INFORMATION TECHNICAL FIELD The present invention relates to devices and methods relating to surfaces which are provided with a coding pattern. BACKGROUND In many contexts, it is desirable to be able to determine an absolute position on a surface. One example is in the digitization of drawings. Another one is when it is intended to produce an electronic version of hand-written information. In these and other contexts in which position determination is carried out, it is often desirable to facilitate, for example, for a computer program in cooperation with an input device to carry out calculations which are related to the position determination. In US 5,852,434, a device for determining an absolute position is described. The device comprises a writing surface which is provided with a position-coding pattern, with the aid of which X/Y coordinates can be determined, a detector which can detect the position-coding pattern and a processor which can determine, on the basis of the detected position-coding pattern, the position of the detector in relation to the writing surface. The device makes it possible for a user to input handwritten and handdrawn information into a computer at the same time as the information is written/drawn on the writing surface. A number of examples of position coding are given in US 5,852,434. The first example is symbols which are in each case built up of three concentric circles. The outermost circle represents the X coordinate and the middle one the Y coordinate. The two outermost circles are furthermore divided into 16 parts which specify different numbers depending on whether they are filled in or not. This entails that each pair of coordinates X, Y is coded with a complex symbol having a special appearance. In the second example in US 5,852,434, the coordinates at every point on the writing surface are specified with the aid of a bar code, a bar code for the X coordinate being specified above a bar code for the Y coordinate. A shortcoming of the prior art summarized above is thus that it does not facilitate, for example, for a computer program in cooperation with an input device to carry out calculations which are related to the position determination since only position information is processed. A further shortcoming related to the known pattern is that it is built up of complex symbols, the information content of which indicates the actual positions. The smaller these symbols are made the more difficult it becomes to produce the patterned writing surface and the greater will be the risk of erroneous position determinations, but the larger the symbols are made the worse will be the position resolution. Another shortcoming is that the detector must be constructed so that it can register four symbols at the same time so that it reliably gets at least one symbol in its totality which is necessary for it to be possible to carry out the position determination. In Applicant's International Patent Application WO 00/73983, which was filed on 1 October 1999 and which was not publicly available when the present application was filed and therefore does not constitute prior art, a position coding pattern is described. Moreover reference is also made to PCT/SE00/01895 and WO 01/16691, the contents of which are included by reference. SUMMARY OF THE INVENTION It is an object of the present invention to remedy the abovementioned deficiencies of prior art completely or partially. This object is achieved by means of a product according to claim 1, software according to claims 15 and 16 and a device according to claims 17 and 18. More specifically, the invention relates to a product which has a surface which is provided with a coding pattern which comprises symbols which have at least two different values. The invention is characterized in that each symbol comprises a raster point and at least one marking, that the raster point is included in a raster which extends over the surface; that the value of each symbol is indicated by the location of said marking in relation to a raster point and that at least one marking comprises marking information. In prior art, each position is coded with a complex symbol, the complete information content of which is needed for specifying position information. According to the invention, instead, a symbol is used the value of which is specified by the location of a marking in relation to a raster point. There is thus one type of symbol for each value. A device which will carry out the position determination therefore only needs to detect the occurrence of one marking. Moreover, a position- determining device according to the invention can distinguish between different markings and thereby acquire further information related to, for example, the position in question. This further marking information can advantageously vary depending on the position which is determined. The design of the symbol according to the invention also entails that a surface which is provided with a coding pattern according to the invention becomes more esthetically pleasing. Furthermore, a large distance between the markings in relation to the position-information density is made possible, which has the result that the coding becomes less sensitive to movement blur. The symbols described above can be used for coding any type of information but are advantageously used for coding positions and position-related further information via the markings of the symbols. As mentioned, in prior art each position is coded with a single symbol which therefore must be rather complex. According to the invention, on the other hand, each position can be coded with a plurality of symbols. Each individual symbol can thus be made less complex and thus simpler to detect with higher reliability. According to the invention, the position information and position-related information are separated in that the markings of the symbols contain different types of information depending on which spatial resolution is taken into consideration. In a first spatial resolution level, the markings of the symbols are only used for specifying position information. By taking into consideration further spatial resolution levels which are higher than the first one, the further information can be coded and retrieved from the markings. An obvious advantage of this separation of information into different spatial resolution levels is that, even if reading the markings entails loss of detail information, at least the information which has been stored with the lowest spatial resolution, i.e. the existence of the markings itself, can be utilized. This will also prove to be advantageous when considering reading devices and their capability of reading information of different spatial resolution, as will be discussed further below. In prior art, each position is coded with a symbol which is "isolated" from symbols of the surrounding positions. The position resolution is thus limited by the surface occupied by the symbol of a position. The position-coding pattern according to the invention can be built up in corresponding manner, each position being coded by an "isolated" group of symbols. In a preferred embodiment of the invention, however, each symbol contributes to the coding of more than one position. In this manner, a "floating" transition between different positions is obtained. In other words, each position is coded partly by the same symbols as the adjoining positions. The floating coding is advantageous since it makes it possible to increase the position resolution. Furthermore, it is possible to reduce the relationship between, on the one hand, the number of symbols which a position-determining device must register in order to be able to carry out a position determination reliably and, on the other hand, the number of symbols which code a position. In a preferred embodiment, each symbol contributes to the coding of both a first and a second position coordinate. Thus, different symbols are not needed for the different coordinates, which makes the position code simpler and the position resolution better. The coordinate system can be suitably Cartesian but other types of coordinate systems are also conceivable. Furthermore, the value of each symbol can be advantageously translatable into at least a first digit which is used for coding the first coordinate, and at least a second digit which is used for coding the second coordinate, the symbols in the position-coding pattern together representing a first position code for the first coordinate and a second position code for the second coordinate. The two coordinates can then be coded independently of one another, which makes the coding simpler when the coding is "floating". Preferably, the value of the symbol is represented in a binary manner, a first bit being used for the coding of a first coordinate and a second bit for the coding of a second coordinate. The position-coding pattern is advantageously based on a first cyclic, preferably binary, number series which has the characteristic that no sequence with a first predetermined number of digits appears more than once in the number series. Due to the fact that the position- coding pattern is built up in this manner, it will contain inherent information about the positions so that the coordinates can be calculated according to predetermined rules. This is advantageous in that it means that the decoding of the position-coding pattern can be implemented in an efficient manner in, for example, software. Besides, it will be much simpler to produce the position-coding pattern in this way compared with trying to randomly generate an unambiguous position- coding pattern of a floating type. In one embodiment, the product can comprise a plurality of writing surfaces each of which comprises the position- coding pattern with the further marking information coded in a number of markings. For example, the product can consist of a notepad with a plurality of sheets, such as maps, forms, blanks etc. The position-coding patterns then differ for the various writing surfaces by the sequence in the cyclic number series with which a predetermined column or row begins. The "same" pattern can thus be used for a plurality of writing surfaces which can be separated or integrated with one another by allowing, for example, the first column to begin at different positions in the number series. Considering the further marking information, this can be seen as providing an extension of the cyclic number series with the advantage of providing an even larger available area which can be provided with a unique coding pattern. The position-coding pattern can be implemented with any parameter whatever which can be used for producing symbols of the above-mentioned type which can be detected by a detector. The parameter can be electric or chemical or of another type. However, the position-coding pattern is preferably optically readable which makes it simpler to apply it to the surface. The pattern should thus be able to reflect or absorb light but the light does not need to lie within the visible range. The raster and/or the raster points can be implemented on the surface. In a preferred embodiment, however, the raster and the raster points are virtual. Thus, the raster is not marked on the surface at all but only constitutes an imaginary raster which forms the base of the coding but which can be located on the basis of the location of the markings. The products described above can be any products whatever which have a surface with a coding pattern. They can be used for a large number of different applications. For example, they can be used for continuously registering the position of a pen which is conducted over the writing surface where the further position-related marking information, for example, contains direct information about how the written text is to be reproduced, for example on a computer screen. Further examples comprise a map with a printed pattern according to the invention, whereby, for example, the further information in the markings can contain information relating, for example, levels of elevation. They can also be used in determining the position of a tool, an instrument or the like. They can also be used as a mouse pad. A person skilled in the art can think of many other applications. According to a further aspect of the invention, it relates to a computer program which is stored on a storage medium which can be read by a computer and which comprises instructions for causing the computer to decode the position-coding pattern on a product according to any one of claims 1-14. According to yet another aspect of the invention, it relates to a computer program for determining the position of a partial surface on a surface, which is provided with a position-coding pattern which comprises a plurality of symbols, on the basis of an image of the partial surface, each symbol comprising a raster point and at least one marking, the computer program being stored on a storage medium which can be read by a computer and which comprises instructions for causing the computer to locate a predetermined plurality of symbols in the image, to determine the value of each of the said predetermined plurality of symbols, to separate the position-coding pattern in the image into a first position code for a first coordinate and a second position code for a second coordinate by translating the value of each symbol into at least a first digit for the first position code and at least a second digit for the second position code, and to calculate the first coordinate with the aid of the first position code and the second coordinate with the aid of the second position code. Moreover, the locating of at least one marking is carried out, which comprises marking information, after which this is interpreted. The computer programs can be used together with prior-art position-determining devices. They can be installed in a separate computer to which images of the position-coding pattern are sent, or in the actual device which registers the position-coding pattern. According to another aspect of the invention, it relates to a device for position determination, comprising a sensor for producing an image of a partial surface on a surface and image-processing devices which are arranged to decode a position-coding pattern on a product according to any one of claims 1-14, the said surface being a surface on the product, which surface is provided with the position-coding pattern. According to a further aspect of the invention, it relates to a device for position determination comprising a sensor for producing an image of a partial surface of a plurality of partial surfaces on a surface, which is provided with a position-coding pattern, and image- processing means which are arranged to locate a predetermined plurality of symbols in the image, where each symbol comprises at least one marking, to determine the value of each of said predetermined plurality of symbols, to separate the position-coding pattern in the image into a first position code for a first coordinate for the partial surface and into a second position code for a second coordinate for the partial surface by translating the value of each symbol into at least a first digit which is used for the first position code and at least a second digit which is used for the second position code, and to calculate the first coordinate with the aid of the first position code and the second coordinate with the aid of the second position code. Moreover, the location of at least one marking is carried out, which comprises marking information, after which this is interpreted. The capability of interpreting the further information at different spatial resolutions will prove very advantageous in a commercial sense. Devices for interpreting the position information and further information of any spatial resolution are envisaged, but also devices capable of interpreting only position information and further information at only one other spatial resolution (or even no other spatial resolution than that of the position information) . Such separation of devices into different levels of capability may be utilized commercially in that several generations of devices may be developed, each being capable of interpreting further information at further spatial resolutions. Backward compatibility will be inherent in that the capability for early generation devices capable of interpreting information at, e.g., one or two spatial resolutions will also be able to interpret the information of the first one or two spatial resolutions from symbols having information at three or more spatial resolutions. Other advantages of the device are apparent from the above discussion of the position-coding pattern. Due to the fact that the image-processing means in the device are arranged to determine the position in a "rule- based" manner, the device does not require a large amount of storage capacity, which is an advantage with respect to the manufacturing costs of the device and the possibility of producing a stand-alone unit. The image-processing means advantageously consist of a suitably programmed processor. The device can be implemented as an independent unit. As an alternative, the sensor can be located in a first housing whilst the image-processing means are located in another housing, e.g. a personal computer to which the images registered by the sensor are transferred. One general advantage of the present invention is the fact that a number of different spatial resolution levels can be used. Reading devices such as reading pens can be provided with different capacity for reading and decoding position information and marking information. For example, a simple and inexpensive reader can be produced for simply reading the pattern at the lowest spatial resolution level whilst a more advanced and more expensive reader can be produced for reading information at a number of spatial resolution levels. Further objectives, features and advantages of the invention will become apparent from the following detailed description of embodiments of the invention with reference to the drawings. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 schematically shows an embodiment of a product according to the present invention which is provided with a position-coding pattern. Figures 2a-2d schematically show how the symbols can be configurated in an embodiment of the invention. Figure 3 schematically shows an example of 4x4 symbols which are used for coding a position. Figure 4 schematically shows a device according to the present invention which can be used for position determination. Figures 5a-5d show examples of symbols with markings which contain further binary-coded information at a number of spatial resolution levels. PREFERRED EMBODIMENTS Figure 1 shows a part of a product in the form of a sheet of paper 1 which on its surface 2 is provided with an optically readable position-coding pattern 3 which enables position determination to be performed. The position-coding pattern consists of symbols 4 which are systematically arranged over the surface 2 so that it has a "patterned" appearance. The symbols comprise markings which, for the sake of clarity, are round in Figure 1. In connection with Figure 5, a number of other configurations of markings will be shown below in detail in order to illustrate how further information can be represented at a higher spatial resolution level. The sheet has an x coordinate axis and a y coordinate axis. In this case, position determination can be carried out on the surface of the whole product. In other cases, the surface allowing position determination may consist of a smaller part of the product. For example, the sheet of paper can be used for producing an electronic representation of information which is written or drawn on the surface. The electronic representation can be produced by continuously determining, while writing on the surface with a pen, the position of the pen on the sheet of paper by reading the position-coding pattern. The position-coding pattern comprises a virtual raster which thus is neither visible to the human eye nor can be detected directly by a device which is to determine positions on the surface, and a plurality of symbols 4 each being able to assume one of four values "1" - "4" as will be described in the text which follows. In this context, it should be pointed out that the position- coding pattern in Figure 1 has been greatly enlarged for the sake of clarity. It is also shown only on a part of the sheet of paper. The position-coding pattern is arranged in such a manner that the position of a partial surface on the writing surface is coded by the symbols on this partial surface. A first and a second partial surface 5a, 5b are shown by dashed lines in figure 1. The part of the position-coding pattern (in this case 4 x symbols) which is located on the first partial surface 5a codes a first position, and the part of the position-coding pattern which is located on the second partial surface 5b codes a second position. The position-coding pattern is thus partially common to the adjoining first and second positions. Such a position-coding pattern is designated as "floating" in this application. Figures 2a-d show an embodiment of a symbol which can be used in the position-coding pattern according to the invention. The symbol comprises a virtual raster point 6 which is represented by the intersection between the raster lines, and a marking 7 which has the form of a dot. The value of the symbol depends on where the marking is located. In the example in Figure 2, there are four possible locations, one on each of the raster lines extending from the raster points. The displacement from the raster point is equal for all values. In the text which follows, the symbol has the value 1 in Figure 2a, the value 2 in Figure 2b, the value 3 in Figure 2c and the value 4 in Figure 2d. Expressed in other words, there are four different types of symbol. Each symbol can thus represent four values "1-4". This means that the position-coding pattern can be divided into a first position code for the x coordinate and a second position code for the y coordinate. The dividing is done in accordance with the following: Symbol value x code y code 1 1 1 2 0 1 3 1 0 4 0 0 Thus, the value of each symbol is translated into a first digit, in this case bit, for the x code and a second digit, in this case bit, for the y code. In this manner, two completely independent bit patterns are obtained. The patterns can be combined into a common pattern which is coded graphically with the aid of a plurality of symbols according to Figure 2. Each position is coded with the aid of a plurality of symbols. In this example, 4x4 symbols are used for coding a position in two dimensions, i.e. an x coordinate and a y coordinate. The position code is built up with the aid of a number series of ones and zeroes which have the characteristic that no sequence of four bits occurs more than once in the series. The number series is cyclic, which means that the characteristic also applies if the end of the series is coupled together with its beginning. Thus, a sequence of four bits always has an unambiguously determined position in the number series. The series can be maximally 16 bits long if it is to have the characteristic for sequences of four bits described above. In this example, however, only a 7-bit-long series according to the following is used: "0 0 0 1 0 1 0" This series contains seven unique sequences of four bits which code a position in the series according to the following: Position in the series Sequence 0 0001 1 0010 2 0101 3 1010 4 0100 5 1000 6 0000 For coding the x coordinate, the number series is written sequentially in columns over the entire surface that is to be coded. The coding is based on the difference or position displacement between numbers in adjoining columns. The magnitude of the difference is determined by the position in the number series at which the column is allowed to begin (i.e. with which sequence). More specifically, if one takes the difference modulo 7 between, on the one hand, a number which is coded by a four-bit sequence in a first column and which thus can have the value (position) 0-6, and, on the other hand, a corresponding number (i.e. a sequence on the same "level") in an adjoining column, the result will be the same independently of where along the two columns the comparison is made. Using the difference between two columns, an x coordinate can thus be coded which is constant for all y coordinates. Since each position on the surface is coded with 4x4 symbols in this example, three differences (having the value 0-6) are available according to the above for coding the x coordinate. The coding is then carried out in such a manner that of the three differences, one will always have the value 1 or 2 and the other two will have the values in the interval 3-6. Thus, no differences will be zero in the x code. In other words, the x code is constructed in such a manner that the differences will be as follows: (3-6) (3-6) (1-2) (3-6) (3-6) (1-2) (3-6) (3-6) (1-2)... Each x coordinate is thus coded with two numbers between 3 and 6 and a subsequent numbers which is 1 or 2. If 3 is subtracted from the high numbers and 1 from the low one, a number in mixed base will be obtained, which directly provides a position in the x direction from which the x coordinate can then be determined directly as shown in the example below. Using the principle described above, it is thus possible to code x coordinates 0, 1, 2 ... with the aid of numbers which represent three differences. These differences are coded with a bit pattern which is based on the above number series. Finally, the bit pattern can be coded graphically with the aid of the symbols in Figure 2. In many cases, when reading 4x4 symbols it will not be possible to get a complete number which codes the x coordinate but parts of two numbers. Since the least significant part of the numbers is always 1 or 2, however, a complete number can be reconstructed in a simple manner. The y coordinates are coded in accordance with the same principle as is used for the x coordinates. The cyclic number series is written repeatedly in horizontal rows over the surface which is to be position-coded. Exactly as in the case of the x coordinates, the rows are allowed to begin at different positions, i.e. with different sequences, in the number series. However, it is not differences which are used for the y coordinates but the coordinates are coded with numbers which are based on the starting position of the number series in each row. When the x coordinate for 4x4 symbols has been determined, it is, in fact, possible to determine the starting positions in the number series for the rows which are included in the y code in the 4x4 symbols. In the y code, the most significant digit is determined by allowing this to be the only one that has a value in a specific interval. In this example, one allows one row of four to begin at position 0-1 in the number series to indicate that this row relates to the least significant digit in a y coordinate, and the other three begin at position 2-6. In the y direction, there is thus a number series as follows: (2-6) (2-6) (2-6) (0-1) (2-6) (2-6) (2-6) (0-1) (2-6)... Each y coordinate is thus coded with three numbers between 2 and 6 and a subsequent number between 0 and 1. If 0 is subtracted from the low number and 2 from the high ones, one obtains, in the same manner as for the x direction, a position in the y direction in mixed base, from which the y coordinate can be determined directly. With the above method, it is possible to code 4 x x 2 = 32 positions in the x direction. Each such position corresponds to three differences giving 3 x 32 = 96 positions. Furthermore, it is possible to code 5 x 5 5 x 2 = 250 positions in the y direction. Each such position corresponds to four rows giving 4 x 250 = 1000 positions. Together, it is thus possible to code 96000 positions. Since the x coding is based on differences it is, however, possible to select the position at which the first number series begins. Taking into consideration that this first number series can begin at seven different positions, it is possible to code 7 x 96000 = 672000 positions. The starting position of the first number series in the first column can be calculated when the x coordinate has been determined. The above-mentioned seven different starting positions of the first series can code different sheets or writing surfaces on a product. To further illustrate the invention according to this embodiment, a specific example follows here which is based on the embodiment of the position code described. Figure 3 shows an example of an image with 4x4 symbols which are read by a device for position determination. These 4x4 symbols have the following values: 4 4 4 2 3 2 3 4 4 4 2 4 1 3 2 4 These values represent the following binary x and y codes : x code : y code : 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 The vertical x sequences code the following positions in the number series: 2 0 4 6. The differences between the columns will be -2 4 2, which modulo 7 gives: 5 4 2 which, in mixed base, codes position (5-3) x 8 + (4-3) x 2 + (2-1) = 16 + 2 + 1 = 19. Since the first coded x position is position 0, the difference which lies in the interval 1-2 and which appears in the 4x4 symbols is the 20th such difference. Since furthermore there are a total of three columns for each such difference and there is a start column, the vertical sequence farthest to the right in the 4x4 x code belongs to the 61st column in the x code (3 x 20 + 1 = 61) and that farthest to the left belongs to the 58th. The horizontal y sequences code the positions 0 4 1 3 in the number series. Since these series begin in the 58th column, the starting position of the rows are these numbers minus 57 modulo 7 providing the starting positions 6 3 0 2. Translated into digits in the mixed base, this becomes 6-2, 3-2, 0-0, 2-2 = 4 1 0 0 where the third digit is the least significant digit in the number in question. The fourth digit is then the most significant digit in the next number. In this case, it must be the same as in the number in question. (The exception is when the number in question consists of the highest possible digits in all positions. It is then apparent that the beginning of the next number is one greater than the beginning of the number in question) . The position of the four-digit number becomes 0x50 + 4x10 + 1x2 + 0x1 = 42 in the mixed base. The third row in the y code is thus the 43rd which has the starting position 0 or 1, and since there are four rows in total in each such row, the third row is number 43x4=172. Thus, in this example, the position of the topmost left corner for the 4x4 symbol group is (58,170). Since the x sequences in the 4x4 group begin in row 170, the x columns of the entire pattern begin at positions ((2 0 4 6) - 169) mod 7 = 1 6 3 5 of the number series. Between the last starting position (5) and the first starting position, the numbers 0-19 are coded in mixed base and by adding together the representations for numbers 0-19 in mixed base, the total difference between these columns is obtained. A primitive algorithm for doing this is to generate these twenty numbers and directly add together their digits. The sum obtained is called s. The sheet or writing surface is then given by (5-s) modulo 7. In the example above, an embodiment has been described in which each position is coded with 4x4 symbols and a number series with 7 bits is used. Naturally, this is only an example. Positions can be coded with more of fewer symbols. The number of symbols does not need to be the same in both directions. The number series can have different length and does not need to be binary but may be built up on another base. Different number series can be used for coding in the x direction and coding in the y direction. The symbols can have different numbers of values . In the example above, furthermore, the marking is a dot. Naturally, it can have a different appearance. For example, it may consist of a line which begins in the virtual raster point and extends from that to a predetermined position. In the example above, the symbols are used within a square partial surface for coding a position. The partial surface can have another form, for example hexagonal. Neither do the symbols need to be arranged in rows and columns at an angle of 90° with respect to one another but can also be arranged in other configurations. For the position code to be detectable, the virtual raster must be determined. This can be done by studying the distance between different markings. The shortest distance found between two markings must originate from two adjoining symbols having the value 1 and 3 so that the markings are located on the same raster line between two raster points. When such a pair of markings has been detected, the associated raster points can be determined with knowledge of the distance between the raster points and the displacement of the markings from the raster points. Once two raster points have been located, further raster points can be determined by means of measured distances to other markings and with knowledge of the relative distance of the raster points. An embodiment of a device for position determination is shown schematically in Figure 4. It comprises a casing 11, which has the approximate format of a pen. At a short end of the casing there is an opening 12. The short end is intended to bear against or be held at a short distance from the surface on which the position determination is to be carried out. The casing mainly accommodates an optical part, an electronic part and a power supply. The optical part comprises at least one light-emitting diode 13 for illuminating the surface which is to be imaged and a light-sensitive area sensor 14, for example a CCD or CMOS sensor, for registering a two-dimensional image. The device may also contain a lens system. The power supply for the device is obtained from a battery 15 which is mounted in a separate compartment in the casing. The electronic part comprises image-processing means 16 for determining a position on the basis of the image registered by the sensor 14 and, more specifically, a processor unit with a processor which is programmed for reading images from the sensor and carrying out position determination on the basis of these images. In this embodiment, the device also comprises a pen point 17, with the aid of which it is possible to write normal pigment-based writing on the surface on which the position determination is to be carried out. The pen point 17 can be retracted and extended so that the user can control whether or not it is to be used. In certain applications, the device does not need to have any pen point at all. The device also comprises buttons 18, with the aid of which the device is activated and controlled. It also has a transceiver 19 for wireless transmission, e.g. by means of IR light or radio waves, of information to and from the device. The device can also comprise a display 20 for showing positions or registered information. Applicant's international patent application WO 98/20446 describes a device for registering text. This device can be used for position determination if it is programmed in a suitable manner. If it is to be used for pigment-based writing, it must also have a pen point. The device can be divided into different physical casings, a first casing containing components which are necessary for obtaining images of the position-coding pattern and for transferring them to components which are located in a second casing and which carry out the position determination on the basis of the registered image or images. As mentioned, the position determination is carried out by a processor which thus must have software for locating and decoding the symbols in an image and for determining the positions from the codes thus obtained. On the basis of the above example, a person skilled in the art can design software which carries out position determination on the basis of an image of a part of a position-coding pattern. Furthermore, a skilled person can design software for printing the position-coding pattern on the basis of the above description. In the above embodiment, the pattern is optically readable and the sensor is thus optical. As mentioned, the pattern can be based on a parameter other than an optical parameter. In such a case, naturally, the sensor must be of a type which can read the parameter in question. In the above embodiment, the raster is a grid network. It can also have other forms. In the embodiment above, it is not the longest possible cyclic number series which is used. This provides a certain redundancy which can be used, for example, for checking the turning of the read group of symbols. Figures 5a-5d show four examples of symbols with markings which contain further binary-coded information at a number of spatial resolution levels. Figure 5a shows a marking 51 which, for example, can be one of the markings in one of the above examples. The marking 51 is of rectangular form and can be read at a first spatial resolution level. A further marking pattern 52, readable at a second spatial resolution level, constitutes a part of the marking 51 and with a binary interpretation, this further pattern 52 has, for example, the binary value "10101". Figure 5b shows, analogously to Figure 5a, a marking 53 at a first spatial resolution level and a further marking pattern 54 which is readable at a second spatial resolution level, the binary value of which is "10100101010001". Figure 5c shows, analogously to Figures 5a and 5b, a marking 55 at a first spatial resolution level and two further marking patterns 56 and 57, which are readable at a second spatial resolution level and the binary values of which are "10101" and "10101", respectively. Figure 5d shows, analogously to Figures 5a-5c, a marking 58 at a first spatial resolution level and two further marking patterns 59 and 60, which are readable at a second spatial resolution level and the binary value of which are "10101" and, respectively, readable at a third spatial resolution level and the binary value of which is "101010010101".

Claims: CLAIMS 1. A product which has a surface (2) which is provided with a coding pattern (3) which comprises symbols (4) representing at least two different values, characterised in that each symbol comprises a raster point (5) and at least one marking (6); the raster point is included in a raster which extends over the surface; the value of each symbol is indicated by the location of the said marking in relation to a raster point; and at least one marking comprises marking information. 2. A product according to claim 1, wherein essentially all markings (6) in the coding pattern at a first spatial resolution level are essentially identical, and in which at least one marking in the coding pattern at at least a second spatial resolution level, higher than the first spatial resolution level, exhibits a variation in the configuration in relation to the marking information. 3. A product according to claim 1 or 2, wherein the coding pattern is a position-coding pattern which codes a plurality of positions on the surface, each position being coded by a plurality of symbols. 4. A product according to claim 3, wherein each symbol (4) contributes to the coding of more than one of said plurality of positions. 5. A product according to claim 3 or 4, wherein each symbol (4) contributes to the coding of both a first and a second position coordinate. 6. A product according to claim 5, wherein the value of each symbol is translatable into at least a first digit which is used for coding the first position coordinate and at least a second digit which is used for coding the second position coordinate, the symbols in the position- coding pattern together representing a first position code for the first position coordinate and a second position code for the second position coordinate. 7. A product according to any one of claims 3-6, wherein the position-coding pattern (3) is based on a first cyclic number series which has the characteristic that no sequence with a first predetermined number of digits occurs more than once in the number series. 8. A product according to claim 4, wherein the first coordinate is coded by a first cyclic number series which has the characteristic that no sequence with a first predetermined number of digits occurs more than once in the number series, being repeated in columns over the surface, the columns beginning at different locations in the number series. 9. A product according to claim 8, wherein the second coordinate is coded by a second cyclic number series which has the characteristic that no sequence with a second predetermined number of digits occurs more than once in the number series, being repeated in rows over the surface, the rows beginning at different locations in the number series. 10. A product according to claim 9, wherein the product (1) comprises a plurality of writing surfaces, each of which comprises the position-coding pattern, the position-coding patterns differing for the different writing surfaces by the sequence in the cyclic number series with which a predetermined column or row begins. 11. A product according to any one of the preceding claims, wherein the said raster and said raster point are virtual ones. 12. A product according to one of the preceding claims, wherein each symbol has precisely one marking which can be placed in one of four predetermined positions on the lines of the raster so that the symbol has precisely four values . 13. A product according to any one of the preceding claims, wherein the marking information is coded in the form of a pattern varying in a binary manner. 14. A product according to any one of the preceding claims, wherein the coding pattern is optically read. 15. A computer program which is stored on a storage medium which can be read by a computer and which comprises instructions for causing a computer to decode the position-coding pattern on a product according to any one of claims 1-14. 16. A computer program for determining the position of a partial surface on a surface, which is provided with a position-coding pattern which comprises a plurality of symbols, on the basis of an image of the partial surface, wherein each symbol comprises a raster point and at least one marking, which computer program is stored on a storage medium which can be read by a computer and which comprises instructions for causing the computer to: - locate a predetermined plurality of symbols in the image; - determine the value of each of said predetermined plurality of symbols; - separate the position-coding pattern in the image into a first position code for a first coordinate of the partial surface and a second position code for a second coordinate of the partial surface by translating the value of each symbol into at least a first digit for the first position code and at least a second digit for the second position code; - calculate the first coordinate with the aid of the first position code and the second coordinate with the aid of the second position code; - calculate the value of each symbol by determining the location of each marking in relation to the raster point; - locate at least one marking which comprises marking information; and - interpret the marking information. 17. A device for position determination comprising a sensor (14) for producing an image of a partial surface on a surface and image-processing means (16) which are arranged to decode a position-coding pattern on a product according to any one of claims 1-14, said surface being a surface on the product, which surface is provided with the position-coding pattern. 18. A device for position determination comprising a sensor (14) for producing an image of a partial surface of a plurality of partial surfaces on a surface, which is provided with a position-coding pattern, and image- processing means (16) which are arranged to: - locate a predetermined plurality of symbols in the image, where each symbol comprises at least one marking; - determine the value of each of said predetermined plurality of symbols; - separate the position-coding pattern in the image into a first position code for a first coordinate for the partial surface and into a second position code for a second coordinate for the partial surface by translating the value of each symbol into at least a first digit for the first position code and at least a second digit for the second position code; - calculate the first coordinate with the aid of the first position code and the second coordinate with the aid of the second position code; - locate at least one marking which comprises marking information; and - interpret the marking information. 19. A device according to claim 18, wherein the device is handheld. 20. A device according to claim 18 or 19, wherein the device has means (19) for wireless transmission of position information and marking information.

Inventors: WIEBE LINUS, WIEBE, LINUS
Applicants: ANOTO AB, WIEBE LINUS, WIEBE, LINUS
Application year: 2001
Main classification: G06K1
IPC codes: G06F3, G06K1