Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WATERMARK DETECTION METHOD AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2023/242044
Kind Code:
A1
Abstract:
A method of detecting a watermark in an image pattern comprises: capturing the image pattern, the image pattern comprising a raster of image pixels, the image pattern comprising a watermark. The image patter is transformed by a geometric transformation to provide a transformed image pattern, wherein the geometric transformation comprises interpolating, using pixels of the captured image pattern, pixels of the transformed image pattern; The transformed image pattern is Inverse transformed by an inverse geometric transformation to provide an inverse transformed image pattern, the inverse geometric transformation being an inverse of the geometric transformation, wherein the inverse geometric transformation comprises interpolating, using pixels of the transformed image pattern, pixels of the inverse transformed image pattern; The inverse transformed image pattern is compared to the captured image pattern to provide a compared image pattern, and the watermark is detected from the compared image pattern.

Inventors:
KERVER JOHANNES BERNARDUS (NL)
VAN DOMMELEN BJØRN-ERIK JOHAN WILLEM PIETER HENDRIK (NL)
Application Number:
PCT/EP2023/065345
Publication Date:
December 21, 2023
Filing Date:
June 08, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FILIGRADE B V (NL)
International Classes:
G06T1/00; G07D7/00; G07D7/005; G07D7/20
Foreign References:
US6418232B12002-07-09
EP2232432A12010-09-29
US7561716B22009-07-14
US20050094848A12005-05-05
EP1780635A22007-05-02
Attorney, Agent or Firm:
EP&C (NL)
Download PDF:
Claims:
CLAIMS

1 . A method of detecting a watermark in an image pattern, the method comprising: capturing the image pattern, the image pattern comprising a raster of image pixels, the image pattern comprising a watermark; transforming by a geometric transformation the captured image pattern to provide a transformed image pattern, wherein the geometric transformation comprises interpolating, using pixels of the captured image pattern, pixels of the transformed image pattern;

Inverse transforming by an inverse geometric transformation the transformed image pattern to provide an inverse transformed image pattern, the inverse geometric transformation being an inverse of the geometric transformation, wherein the inverse geometric transformation comprises interpolating, using pixels of the transformed image pattern, pixels of the inverse transformed image pattern; comparing the inverse transformed image pattern to the captured image pattern to provide a compared image pattern, detecting the watermark from the compared image pattern.

2. The method according to any one of the preceding claims, wherein the watermark comprises a geometric pattern, the geometric pattern having been modulated into the image pattern.

3. The method according to claim 2, wherein the geometric pattern has been modulated into the image pattern by means of an amplitude modulation.

4. The method according to claim 3, wherein the geometric pattern has been modulated into the image pattern by means of amplitude modulation in at least one colour channel of the image pattern.

5. The method according to any one of claims 2 - 4, wherein the geometric pattern of the watermark comprises a substantially uniform pattern on a background.

6. The method according to claim 5, wherein the background is substantially uniform.

7. The method according to claim 5 or 6, wherein a transition from the background to the substantially uniform pattern is a stepwise transition.

8. The method according to any one of the preceding claims, wherein the image pattern comprises plural watermarks, wherein a modulation depth of at least one of the watermarks is lower than a modulation depth of at least one other of the watermarks.

9. The method according to any one of the preceding claims, wherein the watermark comprises one of a barcode and a QR code.

10. The method according to any one of the preceding claims, wherein the watermark comprises plural dots arranged along a dot code line, wherein data is coded into the dots, the dot code line preferably comprising a Bezier curve.

11. The method according to claim 10, wherein the dots are arranged at predetermined distances along the line, wherein one value of the dots is blank.

12. The method according to any one of the preceding claims, wherein the watermark comprises plural dots forming a dot code, the dots of the dot code being spaced apart along a dot code line extending along a surface of the item and form a linearly extending string of dots on the dot code line, the dot code comprising a predefined dot start code defining a start of the dot code, a predefined dot end code defining an end of the dot code, and an identification dot code arranged between the predefined dot start code and the predefined dot end code, the predefined dot start code, the identification code and the predefined dot end code being arranged on the dot code line, the detecting the watermark from the compared image pattern comprising:

- searching in the compared image pattern the predefined dot start code,

- searching in the compared image pattern the predefined dot end code,

- determining in the compared image pattern a direction of the predefined dot start code, the direction of the predefined dot start code being an orientation of the predefined dot start code in the compared image pattern,

- determining in the compared image pattern a direction of the predefined dot end code, the direction of the predefined dot end code being an orientation of the predefined dot end code in the compared image pattern,

- interpolating in the compared image pattern a reading line to extend from the predefined dot start code to the predefined dot end code and connecting the predefined dot start code to the predefined dot end code, wherein a direction of the reading line at the predefined dot start code corresponds to the direction of the predefined dot start code, wherein the direction of the reading line at the predefined dot end code corresponds to the direction of the predefined dot end code,

- reading along the reading line the dots from the compared image pattern, and - deriving the identification code from the dots as read along the reading line between the predefined dot start code and the predefined dot end code.

13. The method according to claim 12, wherein the reading line is interpolated according to a Bezier curve.

14. The method according to claim 12 or 13, wherein the dot code comprises a centre marking arranged at a centre of the dot code between the predefined dot start code and the predefined dot end code, the method comprising searching in the image the centre marking and interpolating in the image the reading line to adhere to the centre marking.

15. The method according to any of claims 11 - 14, wherein the interpolating in the compared image pattern the reading line comprises: interpolating in the compared image pattern a curve to extend from the predefined dot start code to the predefined dot end code, wherein a direction of the curve at the predefined dot start code corresponds to the direction of the predefined dot start code, wherein the direction of the curve at the predefined dot end code corresponds to the direction of the predefined dot end code,

- interpolating a candidate reading line from at least three consecutive dots in the compared image pattern;

- extrapolating the candidate reading line along the curve to an expected position of a following one of the dots;

- detecting in the image a position the following one of the dots;

- in case the detected position of the following one of the dots adheres to the expected position of the following one of the dots;

- interpolating a following candidate reading line from the at least three consecutive dots and the following one of the dots.

16. The method according to claim 15, further comprising adjusting the curve according to the following candidate reading line.

17. The method according to any one of claims 11 - 16, comprising searching a dot in the compared image pattern by comparing the compared image pattern to a template representing a dot..

18. The method according to claim 17, wherein the comparing the compared image pattern to a template representing a dot comprises determining, for plural different parts of the compared image pattern, a correlation between the part of the compared image pattern and the template, and detecting the dot start at the part of the compared image pattern for which the correlation is highest.

19. The method according to any one of the preceding claims, wherein the detecting comprises comparing the compared image pattern to a template representing the watermark.

20. The method according to claim 19 wherein the template comprises an absolute value of a spatial derivative of the watermark.

21. The method according to claim 19 or 20, wherein the comparing the compared image pattern to the template representing the watermark comprising determining, for plural different parts of the compared image pattern, a correlation between the part of the compared image pattern and the template, and detecting the watermark at the part of the compared image pattern for which the correlation is highest.

22. The method according to any one of the preceding claims, wherein the transforming comprises rotating by an angle other than N times 90 degrees, wherein N is a natural number..

23. The method according to any one of the preceding claims, wherein the transforming comprises scaling by a factor other than M or 1/M, wherein M is a natural number.

24. The method according to any one of the preceding claims, wherein the transforming comprises translating by a distance other than K times a raster pitch of the pixels of the image pattern, wherein K is a natural number.

25. The method according to any one of the preceding claims, wherein the transforming comprises at least one of skewing and distorting.

26. The method according to any one of the preceding claims, wherein the capturing the image pattern comprises scanning printed matter by a scanner.

27. The method according to any one of the preceding claims, wherein the capturing the image pattern comprises photographing an item by a photo camera.

28. The method according to any one of the preceding claims, wherein the capturing the image pattern comprises loading a digital image file representative of the image pattern.

29. A method of determining an authenticity of an image pattern , the method comprising: detecting a watermark in accordance with the method of any one of the preceding claims, and determining an authenticity from the detected watermark.

30. A system for detecting a watermark in an image pattern, the system comprising an image pattern input device, an output device and a data processing device connected to the image pattern input device and the output device, wherein the image pattern input device is configured to capture the image pattern, the image pattern comprising a raster of image pixels, wherein the image pattern comprises a watermark; wherein the data processing device is configured to transform by a geometric transformation the captured image pattern to provide a transformed image pattern, wherein the geometric transformation comprises interpolating, using pixels of the captured image pattern, pixels of the transformed image pattern;

Inverse transform by an inverse geometric transformation the transformed image pattern to provide an inverse transformed image pattern, the inverse geometric transformation being an inverse of the geometric transformation, wherein the inverse geometric transformation comprises interpolating, using pixels of the transformed image pattern, pixels of the inverse transformed image pattern; compare the inverse transformed image pattern to the captured image pattern to provide a compared image pattern, and detect the watermark from the compared image pattern, and wherein the output device is configured to output a signalling of a presence of the watermark.

Description:
Watermark detection method and system

The present invention relates to a method of detecting a watermark in a printing pattern, a method of determining an authenticity of an image pattern comprising printed matter and to a system for detecting a watermark.

The European patent application EP 1 780 635 A2 discloses a detection of a copy detection pattern in a printing pattern. An image of the printing pattern Is captured and compared to an image of an original of the copy detection pattern, the original with the copy detection pattern. In order to perform an accurate determination, a high resolution scan of the printing pattern may be required. Furthermore, the high resolution scan of the printing pattern is required to be accurately scaled and aligned to the image of an original of the copy detection pattern. Image adjustments are performed in order to have the acquired image best comparable with the original of the copy detection pattern. Then, a correlation between the acquired image and the original of the copy detection pattern may be performed, and based on the correlation, it is determined if the watermark is original.

Accordingly, a problem associated with the known method of detection of the watermark is that a reference image may be required, such as an original of the printing pattern e.g. without the watermark, or at least a high quality image of the original of the printing pattern.

The present invention aims to detect a watermark in an image pattern without the need to provide such an original of the printing pattern.

According to an aspect of the present invention, there is provided a method of detecting a watermark in an image pattern, the method comprising: capturing the image pattern, the image pattern comprising a raster of image pixels, the image pattern comprising a watermark; transforming by a geometric transformation the captured image pattern to provide a transformed image pattern, wherein the geometric transformation comprises interpolating, using pixels of the captured image pattern, pixels of the transformed image pattern;

Inverse transforming by an inverse geometric transformation the transformed image pattern to provide an inverse transformed image pattern, the inverse geometric transformation being an inverse of the geometric transformation, wherein the inverse geometric transformation comprises interpolating, using pixels of the transformed image pattern, pixels of the inverse transformed image pattern; comparing the inverse transformed image pattern to the captured image pattern to provide a compared image pattern, detecting the watermark from the compared image pattern.

The image pattern may be arranged on a substrate, such as a printing substrate. For example, the image pattern may be printed on the substrate by any suitable printing technique, such as printing patterns in full colour printing technique, i.e. printing with ink in e.g. the colours Cyan, Magenta, Yellow and Kontrast (black),. or printing in a spot colour technique. An another example, the image pattern may be a digital image pattern. The image pattern may be captured in any suitable way. For example, the image pattern may be captured by scanning the printed matter using a scanner. As another example, the image pattern may be captured by photographing the printed matter using a camera. As yet another example, a digital data file comprising the image pattern may be loaded.

The image pattern may represent any suitable pattern, such as a printing pattern, a photographic image, etc.

The watermark may represent any suitable information. For example, the watermark may represent information to identify an owner of the image pattern, e.g. such as a creator of the image patten or a client of the image pattern. As another example the water mark may represent information to identify a location where the image pattern is produced.

The watermark may have any suitable shape. Examples may include a square, a rectangle, a sphere, an ellipse, a trapezoid or any combination thereof.

Plural watermarks may be comprised in the image pattern. For example, the plural water marks may be the same. As another example, the plural watermarks may have different sizes and/or shapes. As another example the plural watermarks may be modulated into the image pattern with different modulation depths.

The watermark may be embedded into the image pattern in any suitable way.

For example, the watermark may be embedded into the image pattern using steganographic methods and techniques such as blending, masking, least significant bit data hiding Preferably, the watermark is embedded to be invisible or virtually invisible to the human observer.

The image pattern is transformed by a geometric transformation. The geometric transformation may take place in one or more color channels of the image. The geometric transformation may comprise a rotation, a translation, a scaling or a combination of two or more from rotation, translation and/or scaling. Further, the geometric transformation may comprise a skewing and a free distortion The geometric transformation provides that at least a subset of the pixels in the image are displaced to another location, a transformed location, in the image plane. At least part of the pixels in the image pattern are transferred by the geometric transformation, to another location in the plane of the image pattern. The transformed image likewise comprise a raster of image pixels. By the transformation, at least part of the pixels of the image pattern may be displaced to respective locations that would be between the raster points of the raster of pixels of the transformed image. In order to generate the values of the raster pixels of the transformed image, interpolation is performed. By means of the interpolation, the values of the pixels of the raster of the transformed image are calculated from the values of e.g. neighbouring pixels of the transformed image pattern.

The inverse transformation may be a geometric transformation that is inverse to the geometric transformation. For example, as geometric transformation may comprise a rotation, a translation, or a combination of rotation and translation, the inverse geometric transformation may comprise an inverse rotation, an inverse translation, or a combination of an inverse rotation and inverse translation. The inverse geometric transformation may be understood as an image transformation that is inverse, i.e. opposite, to the geometric transformation.

By the inverse geometric transformation, the image pattern would in principle be transformed back into its original form. However, the geometric transformation and inverse geometric transformation may cause a change in the image, as is detected by comparing the image pattern to the inverse transformed image pattern.

With the transformation, the interpolation may take place to determine values of the raster pixels of the transformed image. In particular at edges in the image pattern, where an intensity of at least one of the colour channels of the image pattern changes in the spatial domain, the values of neighbouring pixels of the raster may spatially change at a relatively high spatial frequency. Due to interpolation when generating the pixels of the transformed image pattern, the relatively high spatial frequency content may be affected due to a spatial averaging effect by the interpolation. A same applies to the inverse transformation. Thus, as a result of the transformation and the inverse transformation, the image parts have been brought back to their original position in the image pattern. However as a result of the spatial interpolation to generate pixel values both with the transformation as well as the inverse transformation, high spatial frequency content in the image may have been affected, more specifically, may be reduced.

By comparing the inverse transformed image pattern to the captured image pattern, differences between the captured image pattern and the inverse transformed image pattern may be detected. The inverse transformed image pattern is to be understood as an image pattern that has been transformed and inverse transformed. A compared imaged pattern may result from the comparison. For example, the captured image pattern and the inverse transformed image pattern may be deducted from each other. Other possibilities to compare the captured image pattern and the inverse transformed image pattern may comprise one or more of the operations: Subtract, Difference, Multiply, Exclude, Division, Luminosity, and Add. Identifying the captured image pattern as a and the inverse transformed image pattern as b, then subtract may be understood as a-b, difference may be understood as abs(a-b), multiply may be understood as a*b, exclude may be understood as abs(a-b), however being lower in contrast, divisin may be understood as a/b or b/a, luminosity may be understood as using hue and saturation from base layer (a) and luminance from blend layer (b), and add may be understood as a+b.

The comparing the captured image pattern and the inverse transformed image pattern may be performed on one or more color channels of the captured image pattern and/or of the inverse transformed image pattern

In an embodiment, the images may be converted to a different color space before comparison comparison may be done on different color channels between images (e.g. red vs green), causing a difference to remain. Transforming to a different color space may yield different channels for comparison and may increase or decrease a precision with which color information is stored, which may increase or decrease contrast.

Comparing different color channels may increase the contrast between variations in the watermark as the color separation process yields different adjustments for the small variations introduced by the watermark for different color channels. This may especially be useful when comparing images that have very little color information (i.e. they are largely gray) or uniform color information (i.e. they are largely made up of a single color).

The difference may present the parts of the image pattern that have been altered by the transformation and inverse transformation, i.e. the parts of the image pattern where a high spatial frequency content has changed.

As the watermark is detected from the comparison between the captured image pattern and the inverse transformed image pattern, no reference may be required, hence enabling to derive the watermark from the image pattern as such.

The method may further comprise outputting a signal representing a result of the detection, i.e. the signal that is output may represent a presence of absence of the watermark, and/or a location of the watermark in the image if detected and/or data encoded in the watermark, as further explained with reference a watermark comprising plural dots along a line. In an embodiment, the watermark comprises a geometric pattern, the geometric pattern having been modulated into the image pattern. Thereby, the geometric pattern may be modulated on a pixel value of pixels in the colour pattern. For example, the geometric pattern may be modulated into the image pattern by means of an amplitude modulation, such as the geometric pattern has been modulated into the image pattern by means of amplitude modulation in at least one colour channel of the image pattern, i.e. in the pixels of at least one colour channel.

In an embodiment, the geometric pattern of the watermark comprises a substantially uniform pattern on a background In an embodiment, a transition from the background to the substantially uniform pattern is a stepwise transition. The stepwise transition may result in lines representing the edges in the compared image pattern, hence promoting to detect the watermark from the lines that represent the edges.

The background may be substantially uniform, hence avoiding that the background adds any edges that could result in structures in the compared image that may obfuscate a detection of the watermark.

In an embodiment, the image pattern comprises plural watermarks, wherein a modulation depth of at least one of the watermarks is lower than a modulation depth of at least one other of the watermarks. When using watermarks with different strengths of embedding, a distinction may be made between authentic and duplicate, as follows. With a duplication process comprising e.g. scanning, resampling of an original image, the process of scanning and resampling may introduce some deviations from the original image pattern. As a result of such deviations, a watermark having a low embedding strength may disappear. Accordingly, the image pattern may be authenticated: In case the image pattern is a copy, the watermark having the low embedding strength may have disappeared. Hence, a distinction between authentic and non-authentic may be made based on the watermarks that are detectible in the image pattern.

In an embodiment, the watermark comprises one of a barcode and a QR code in which data may be encoded. Accordingly, data may be encoded into the watermark.

In an embodiment, the watermark comprises plural dots arranged along a dot code line, wherein data is coded into the dots, the dot code line may comprise a Bezier curve. The watermark of dots along the line may be machine readable and may encode a data.

The readout process of reading the dots along the line may involve making the code visible using the above described process (interpolation, differencing, adjusting contrast, etc) and reading the resulting difference image with a software reading application configured to read such a dot code arranged along a line.

The dots may be arranged at predetermined distances along the line, wherein one value of the dots is blank. Thus, only one value of the dots is required to be present, the other value of the dots, i.e. blank, may make the dot code even less visually obtrusive.

According to an aspect of the invention the watermark comprises plural dots forming a dot code, the dots of the dot code being spaced apart along a dot code line extending along a surface of the item and form a linearly extending string of dots on the dot code line, the dot code comprising a predefined dot start code defining a start of the dot code, a predefined dot end code defining an end of the dot code, and an identification dot code arranged between the predefined dot start code and the predefined dot end code, the predefined dot start code, the identification code and the predefined dot end code being arranged on the dot code line, the detecting the watermark from the compared image pattern comprising:

- searching in the compared image pattern the predefined dot start code,

- searching in the compared image pattern the predefined dot end code,

- determining in the compared image pattern a direction of the predefined dot start code, the direction of the predefined dot start code being an orientation of the predefined dot start code in the compared image pattern ,

- determining in the compared image pattern a direction of the predefined dot end code, the direction of the predefined dot end code being an orientation of the predefined dot end code in the compared image pattern ,

- interpolating in the compared image pattern a reading line to extend from the predefined dot start code to the predefined dot end code and connecting the predefined dot start code to the predefined dot end code, wherein a direction of the reading line at the predefined dot start code corresponds to the direction of the predefined dot start code, wherein the direction of the reading line at the predefined dot end code corresponds to the direction of the predefined dot end code,

- reading along the reading line the dots from the compared image pattern , and

- deriving the identification code from the dots (i.e. the linearly extending string of dots) as read along the reading line between the predefined dot start code and the predefined dot end code.

The item may be any item, such as a package, e.g. a bottle, a blister, a tray, a foil, etc. The item may be a plastic item. For example, the item may be a plastic package. The item may be a waste item, i.e. the identification may be performed in waste, e.g. in a stream of waste. The plastic package may be any suitable plastic package, such as a bottle, a blister, a tray. The plastic package may comprise any plastic, such as polyethylene (PE), polyethylene terephthalate (PET), polypropylene (PP), or polyethyleenfuranoaat (PEF).

The item is provided with a linearly extending dot code. The code may be embodied in a form of a linearly extending string of dots. The dots of the linearly extending dot code may form a line, also referred to as the dot code line, such as a straight line or a curve.

Each dot may encode a value, e.g. a binary value, to be visible in an compared image pattern of the item. Thus, the dots of the code may each have a binary value For example, the dots may be encoded in a form a relief. For example, one value of the dot may be encoded as a bump or recess in the surface of the item. Another value of the dot may be encoded as no bump or recess in the surface of the item. Alternatively, the other value of the dot may be encoded as another form of bump or recess in the surface of the item.

As another example, the dots of the code may each have a ternary value. For example, the dots may each be encoded as one of a bump, a recess and no deformation of the surface of the item. Thus, one of the ternary values may be encoded as a bump, one of the ternary values may be encoded as a recess and one of the ternary values may be encoded as no deformation (i.e. no bump and no recess). By the ternary dots, more data may be encoded per dot, in that for n dots, 3 to the power of n combinations may be provided instead of 2 to the power of n combinations as in the binary valued dots. For example, for 7 dots, a binary coding may provide 2 to the power of 7, i.e. 128 values while a ternary code may provide 3 to the power of 7, i.e. 2187 values. As the difference between bump, recess and no deformation may be reliably detected, more data may be reliably read from the dots, as compared to the dots having a binary value.

As a further example, the dots may each have a quaternary value. By the quaternary dots, more data may be encoded per dot, in that for n dots, 4 to the power of n combinations may be provided instead of 2 to the power of n combinations as in the binary valued dots. An example of quaternary coded dots may be, additionally to the bump, recess and no deformation as described with reference to the ternary code: a hole, a bump or recess having a different shape (e.g. an ellipse, e.g. a vertical or horizontal ellipse). An example of a hole could be a perforation in a foil, e.g. for fresh greens like lettuce.

The dots of the dot code are spaced apart along a line which extends along the surface of the item. The dots may be arranged equidistantly along the line. The line may be a straight line and/or may be any suitable curved line. Furthermore, the line may be provided with a bend, as explained in more detail below. Thus, the dots are spaced apart, one by one, i.e. one after the other, along the line.

The dot code comprises a predefined dot start code defining a start of the dot code and a predefined dot end code defining an end of the dot code. The dot start code and the dot end code are arranged at respective ends of the sequence of dots. The dot start code and the dot end code may each comprise a respective predefined dot pattern, i.e. a respective predefined sequence of dots. The dot code further comprises an identification dot code arranged along the dot code line between the predefined dot start code and the predefined dot end code. The identification code is thus, at one end of the line, preceded by the start code, and at the other end of the line, succeeded by the end code. The identification code comprises a sequence of dots that may provide identification data, e.g. in the form of a sequence of bits.

In the compared image pattern , the predefined dot start code and the predefined dot end code is searched. The predefine dot start code and the predefined dot end code may each comprise a predefined pattern of dots, i.e. a predefined sequence of dots. The predefined sequence of dots may thereby form a predefined sequence of bits.

In the compared image pattern , a direction of the predefined dot start code and a direction of the predefined dot end code is determined. The direction may be understood as an orientation of the respective dot code in the compared image pattern .

A reading line is interpolated in the compared image pattern to extend from the predefined dot start code to the predefined dot end code. The reading line may be understood as a line (such as a straight line or a curve) which extends from the dots of the dot start code to the dots of the dot end code. At the dot start code, a direction of the reading line corresponds to the direction of the predefined dot start code, i.e. coincides with the direction of the predefined dot start code. Similarly, at the predefined dot end code, the direction of the reading line corresponds to the direction of the predefined dot end code, i.e. coincides with the direction of the predefined dot end code. Thus, the reading line provides a line which connects the dot start code and the dot end code. As the reading line is interpolated to adhere, at its ends to the directions of the dot start code and the dot end code, the reading line is to follow an expected track along with the dots between the dot start code and the dot end code are expected to be found. The direction of the dot start code respectively dot end code may be understood as an angle in the compared image pattern (i.e. in a plane of the compared image pattern ) or as an orientation of a curve. Accordingly, as the dot start code and/or dot end code may be curved, the direction thereof may be understood as to be formed by a curve. The term direction may accordingly also be understood as an orientation in the image plane of the compared image pattern .

Along the reading line, the dots are read from the compared image pattern . Thus, by following the reading line, a line is followed along which the dots between the dot start code and the dot end code are expected to be located. The reading line thereby forms a path on which the dots of the dot code are expected to be found.

Then, the identification code is derived from the dots (forming the linearly extending string of dots on the dot code line) as read along the reading line, i.e. from the reading line. Between the predefined dot start code and the predefined dot end code, the dots are located from which the identification code may be derived.

Even in case the item may have a yet unknown position, orientation and/or distance in compared image pattern , the dot code may be identified and read at a relatively low processing power. Thereto, the dot start code and/or dot end code is searched in the compared image pattern first, providing a relatively easy step (in terms of processing load) to search and recognize the dot start code and/or dot end code. Once these dot codes are recognized, an orientation thereof in the compared image pattern is determined. Then, a reading line is interpolated so as to connect the dot start code and the dot end code. The reading line provides an expected path where the remaining dots between the dot start code and the dot end code are expected to be found. Thus, distortions in the compared image pattern due to a different perspective of the compared image pattern , a different orientation of the item, as well as due to bending of the surface of the item may be taken into account. Also, the dot code may be readable in a relatively quick way, despite factors that may adversely affect a readability of the code, such as the item being damaged or dirty. Damaging may translate into a bending of the surface, which may be taken into account as the reading line is interpolated based on the positions and orientations of the dot start code and dot end code: hence, a bending of the surface of the item may translate into a change in orientation of the dot start code and/or dot end code, thus resulting in a change of the reading line to following the bending of the surface of the item to some extent. Furthermore, as the linear code between the dot start code and the dot end code is read along (i.e. from) the reading line, the reading focusses on a specific area, i.e. a linear area following the line, hence may be less prone to disturbing factors such as contamination in a vicinity that could otherwise have affected/disturbed a reading of the code as the risk that such contamination is interpreted as a (non-existing) dot, may be reduced by the reading along the reading line.

The curve may be a Bezier curve, hence allowing to define a relatively smooth curve taking account of the position and orientation of the dot start code and dot end code. Also, as Bezier curves are applied in data processing, e.g. in graphics processing, graphical data processing tools to be able to perform the interpolation at a high speed, may be available. As the orientation of the item changes, the orientation of the dot start code and dot end code in the compared image pattern may change, e.g. due to perspective effects, likewise resulting in a different perspective view of the dot code, which may be taken into account by corresponding Bezier curve interpolated from the dot start code and dot end code.

The interpolation of the Bezier curve may further take into account a centre marking, such as a centre dot. Deriving the centre dot from the compared image pattern may assist to interpolate the Bezier curve, in that the centre dot provides an additional data point along the Bezier curve, thereby e.g. making the interpolation more robust.

More severe damage of the item may result in cracks in the surface of the item, e.g. providing for a kink in the linear dot code. In order to be able to take account of a kink in the dot code, the interpolation may be performed as follows: in an embodiment, the interpolating in the compared image pattern the reading line comprises: interpolating in the compared image pattern a curve to extend from the predefined dot start code to the predefined dot end code, wherein a direction of the curve (guiding line) at the predefined dot start code corresponds to the direction of the predefined dot start code, wherein the direction of the curve (guiding line) at the predefined dot end code corresponds to the direction of the predefined dot end code,

- interpolating a candidate reading line from at least three consecutive dots in the compared image pattern ;

- extrapolating the candidate reading line along the curve to an expected position of a following one of the dots;

- detecting in the compared image pattern a position the following one of the dots;

- in case the detected position of the following one of the dots adheres to the expected position of the following one of the dots;

- interpolating a following candidate reading line from the at least three consecutive dots and the following one of the dots.

Thus, as long as the following dot appears to adhere to the curve, which acts as a guiding line, the process continues with the candidate reading line, in each iteration adding a follows dot to the candidate reading line. The curve may be a Bezier curve.

In an embodiment, deviations may be taken into account by adjusting the curve according to the following candidate reading line. Thus, the interpolation may be made more robust, to adapt to minor deviations of the candidate reading line from the curve.

In case a difference between the detected position of the following one of the dots and the expected position of the following one of the dots exceeds a predetermined position threshold:

- assigning the candidate reading line to a reading line part associated with the at least three consecutive dots in the compared image pattern , and

- interpolating a following candidate reading line for at least three following ones of the dots in the compared image pattern .

Thus, per part of the dot code that adheres to relatively smooth transitions to the following dots, a separate candidate reading line may be interpolated. The reading line may thus be construed from a combination of the two (or more) candidate reading lines. Thus, in the case of one bend or kink in the dot code, the reading line may be construed from two candidate reading lines, each at a respective side of the bend or kink. Hence, starting from the dot start code, the reading line is interpolated on a dot by dot basis, whereby in each iteration a following dot is added to the interpolation. In case of no bends or kinks the process of iterations is followed until the dot end code is reached where the reading line is formed by the final iteration of the candidate reading line. In the case of one bend or kink, the following candidate reading line is again interpolated on a dot by dot basis, until the dot end code is reached. Then, the last iteration of the candidate reading line provides a part of the reading line from the start bit to the bend or kink, while the last iteration of the following candidate reading line provides the other part of the reading line from the bend or kink to the dot end code.

Prior to searching the predefined dot start code and the predefined dot end code, the dots may be retrieved in the compared image pattern as follows: a dot may be searched in the compared image pattern by comparing the compared image pattern to a template representing a dot..

The comparing the compared image pattern to a template representing a dot may comprises determining, for plural different parts of the compared image pattern, a correlation between the part of the compared image pattern and the template, and detecting the dot start at the part of the compared image pattern for which the correlation is highest. Accordingly, dots may be retrieved in the compared image pattern in an automated way, e.g. by suitable image processing software.

In an embodiment, the method comprises deriving an edge of the substantially uniform pattern and detecting the watermark from the edge.

For example, the detection of (parts of) the watermark may rely on an operator knowing what pattern to look for under the assumption a watermark should be present.

In an embodiment, the detecting comprises comparing the compared image pattern to a template representing the watermark. The template may assist the operator to recognize the watermark (or edges thereof) in the compared mage pattern. Likewise, when using image recognition software to detect a presence of the watermark from the compared image, the image recognition software may make use of the template as a reference to determine what to look for.

The template may comprise a watermark or a spatial derivative of the watermark. The spatial derivate may promote to accentuate the edges and/or transitions of the watermark. As the described method tends to result in signalling the edges or transitions, in the compared image pattern, the edges or transitions may exhibit a high resemblance to the spatial derivate, thereby facilitating the detection of the watermark from the compared image pattern. , In order to promote an automatic detection of the watermark at a high reliability, The comparing the compared image pattern to the template representing the watermark may comprise determining, for plural different parts of the compared image pattern, a correlation between the part of the compared image pattern and the template, and detecting the watermark at the part of the compared image pattern for which the correlation is highest. In an embodiment, the transforming comprises rotating by an angle other than N times 90 degrees, wherein N is a natural number. As the rotation does not equate 90, 180, 270 degrees, etc., the pixels of the image pattern are relocated to positions between the pixel raster of the transformed image pattern, i.e positions that may not coincide with pixels of the pixel raster of the transformed image pattern. Interpolation may be performed in order to determine the values of the pixels of the transformed image pattern from the pixels of the image pattern.

In an embodiment, the transforming comprises scaling by a factor other than M or 1/M, wherein M is a natural number. As the scaling does not equate a scaling by a factor or 2, 3, 4, ... or 2, 1/3, , .... etc., the pixels of the image pattern may be displaced to positions between the pixel raster of the transformed image pattern, i.e. positions that may not coincide with pixels of the pixel raster of the transformed image pattern. Interpolation may be performed in order to determine the values of the pixels of the transformed image pattern from the pixels of the image pattern.

Similarly, when the transforming comprises translating by a distance other than K times a raster pitch of the pixels of the image pattern, wherein K is a natural number, the pixels of the image pattern may be displaced to positions between the pixel raster of the transformed image pattern.

The image patter may be captured in any suitable way. For example the capturing the image pattern comprises scanning printed matter by a scanner, photographing an item by a photo camera, and/or loading a digital image file representative of the image pattern.

According to another aspect of the present invention, there is provided a method of determining an authenticity of an image pattern, the method comprising: detecting a watermark in accordance with the method of the present invention, and determining an authenticity from the detected watermark.

The watermark may for example be comprised in secure documents such as passports, driver’s licenses, certificates, etc. or currency, The watermark may thereby be used for authenticity characteristics/features in the secure documents or currency. As another example, the watermark may be comprised in websites or web applications. An authenticity of the website or web application may be determined. For example, an authentication of screenshots made of such websites or web applications may be performed.

As yet another example, Authenticity characteristics/features of (digital) images .audio and video

According to yet another aspect of the present invention, there is provided a system for detecting a watermark in an image pattern, the system comprising an image pattern input device, an output device and a data processing device connected to the image pattern input device and the output device, wherein the image pattern input device is configured to capture the image pattern, the image pattern comprising a raster of image pixels, wherein the image pattern comprises a watermark; wherein the data processing device is configured to transform by a geometric transformation the captured image pattern to provide a transformed image pattern, wherein the geometric transformation comprises interpolating, using pixels of the captured image pattern, pixels of the transformed image pattern;

Inverse transform by an inverse geometric transformation the transformed image pattern to provide an inverse transformed image pattern, the inverse geometric transformation being an inverse of the geometric transformation, wherein the inverse geometric transformation comprises interpolating, using pixels of the transformed image pattern, pixels of the inverse transformed image pattern; compare the inverse transformed image pattern to the captured pattern to provide a compared image pattern, and detect the watermark from the compared image pattern, and wherein the output device is configured to output a signalling of a presence of the watermark.

The method may be implemented in various ways. For example, the method may be implemented by suitable program instructions on a computer system equipped with an image capturing device, or on a smartphone. As another example, the steps of the method may be carried out by a person on a computer running suitable image processing software, s With the system according to the present invention, the same or similar effects may be achieved as may be achieved with the method according to the present invention. Likewise, the same or similar preferred embodiments may be provided, achieving the same or similar effects as explained with reference to the embodiments of the method according to the invention.

Further advantages, features and effects of the present development will be explained with reference to the enclosed drawing, showing a non-limiting embodiment of the present invention, wherein

Figure 1 depicts a schematic diagram of a system according to the invention, Figure 2A - 2G depicts image patterns based on which the method according to the invention will be explained,

Figure 3A - 3C depict a raster of pixels, transformed raster of pixels and inverse transformed raster of pixels,

Figure 4A - 4D depicts one dimensional graphs of an amplitude of the watermark, the inverse transformed watermark, an absolute value of the spatial derivate of the watermark, and the compared image,

Figure 5 depicts a linear dot code as an embodiment of a watermark, and Figures 6A - 6D illustrate a linear dot code and an interpolation of a reading line on the linear dot code.

Throughout the figures, the same or similar reference numerals refer to the same or similar items.

Figure 1 depicts a system according to an aspect of the invention. The system comprises a image pattern input device, such as in the present example a camera CAM. The camera is configured to capture an image pattern of a substrate SUB, on which an printed pattern is provided. The system further comprises a control device CON which is connected to the camera in order to receive the image pattern, i.e. data representing the image pattern, from the camera. The system further comprises an output device, in the present example a display DIS, in which an output may be displayed, as explained in more detail below. The display DIS is connected to the control device by means of a suitable data connection. The control device may comprise any suitable data processing device, such as a microprocessor, microcontroller, etc., provided with suitable program instructions to perform the method as described below. The image capturing device, the camera, and the display may form separate devices. In another embodiment, the image capturing device, the camera, and the display may be integral in a single device, such as or example a smartphone, a tablet computer, a notebook computer, etc. It is to be understood that the system as schematically depicted in Figure 1 may be implemented in various ways. For example, instead of the camera, the image pattern input device may comprise scanner to scan the printed matter on the substrate. As another example, the image pattern input device may comprises An operation of the system as depicted in Figure 1 will be described below with reference to Figures 2A - 2G.

Figure 2A depicts an image pattern PATT, as may have been printed on a substrate, such as the substrate SUB in Figure 1. The image pattern may form any suitable image. In the present example, the image pattern depicts a wood decor, such as may be used in laminate flooring panels, desktops, other furniture, etc. Although the present example depicts the image pattern as a black and white pattern, the pattern may have any colour. For example, the image pattern may be built up from multiple colour channels, e.g. Red, Green and Blue or Cyan, Yellow, Magenta, and Kontrast (Black), accordingly the image pattern comprising respective patterns in each of its colour channels.

Figure 2B depicts a watermark WAT, in the present example being a square shaped surface, to be embedded in the pattern PATT of figure 2A.

Figure 2C depicts the pattern PATT on which the watermark WAT has been superimposed, i.e. overlayed without hiding the watermark.

Figure 2D depicts the pattern PATT in which the watermark WAT has been embedded. As a result of the embedding, the watermark has become invisible to the human eye Figure 2E depicts the rotated image pattern RPAT that has been rotated, in the present example by 5 degrees.

By the rotation, at least part of the pixels of the image pattern may be displaced to respective locations that would be between the raster points of the raster of pixels of the rotated image. In order to generate the values of the raster pixels of the rotated image, interpolation is performed. By means of the interpolation, the values of the pixels of the raster of the rotated image are calculated from the values of e.g. neighbouring pixels of the rotated image pattern. Figure 2E further depicts the counter rotated image pattern C-RPAT that has been counter rotated, in the present example by - 5 degrees.

2E depicts a larger cutout of the image pattern to show more environment around the watermark and the effect of rotation.

With the rotation, the interpolation may take place to determine values of the raster pixels of the rotated image. In particular at edges in the image pattern, where an intensity of at least one of the colour channels of the image pattern changes in the spatial domain, the values of neighbouring pixels of the raster may spatially change at a relatively high spatial frequency. Due to interpolation when generating the pixels of the rotated image pattern, the relatively high spatial frequency content may be affected due to a spatial averaging effect by the interpolation. A same applies to the inverse rotation. Thus, as a result of the rotation and the inverse rotation, the image parts have been brought back to their original position in the image pattern. However as a result of the spatial interpolation to generate pixel values both with the rotation as well as the inverse rotation, high spatial frequency content in the image may have been affected, more specifically, may be reduced.

Figure 2F depicts the counter rotated image pattern C-RPAT hence forming a result of the rotation and the counter rotation. By the inverse rotation, the image pattern would in principle be transformed back into its original form. However, the rotation and inverse rotation may cause a change in the image, as is detected by comparing the image pattern to the inverse rotated pattern

Figure 2G depicts a result of the comparison, in the present example a subtraction, of the captured image pattern as depicts in Figure 2D, including the water mark, and the counter rotated image pattern as depicted in Figure 2F. Apart from some residual noise, the edges of the watermark WAT are visible in the compared image.

By comparing the inverse rotated image pattern to the captured image pattern, differences between the captured image pattern and the inverse rotated image pattern may be detected. The inverse rotated image pattern is to be understood as an image pattern that has been rotated and inverse rotated. A compared imaged pattern may result from the comparison. For example, the captured image pattern and the inverse rotated image pattern may be deducted from each other causing a difference to remain.

The difference may present the parts of the image pattern that have been altered by the rotation and inverse rotation, i.e. the parts of the image pattern where a high spatial frequency content has changed.

The watermark ay be embedded into the image pattern in any suitable way. Preferably, the watermark is embedded in a way that makes the watermark invisible to the human observer hen observing the image pattern, e.g. in printed matter.

The watermark may be embedded into the image pattern as follows: An image pattern is provide, such as an image pattern in RGB channels, an image pattern in CMYK colour channels or an image pattern with separate printing channels. The watermark is added as an additional image layer on the image pattern. The additional layer in which the watermark is provided is assigned a high transparency mode. The additional layer and the image pattern are combined by a subtraction operation. The subtraction operation, which may also be identified as an exclusion operation, subtracts the image pattern and the watermark layer from each other. As a result, the watermark may be embedded in the image pattern with a low contrast. Figure 3A schematically depicts a raster of pixels PXL as may be comprised in an image pattern. The raster is two dimensional, and extending in an image plane of the image. The pixel as are arranged on a raster to form an array of pixels. The raster may be represented by horizontal and vertical pixel raster lines. For explanatory and illustrative purpose, a horizontal pixel raster line PRL is depicted with extends along the pixels arranged along a horizontal line of the raster of pixels. For illustrative purpose, all pixels are depicted as black, however the pixels may have different pixel values in accordance with the image pattern.

Figure 3B schematically depicts an imaginary location of the raster of pixels upon transforming the raster of pixels to T-PXL, whereby in the present example the transformation comprises a rotation. An imaginary transformed pixel raster line T-PRL is depicted for illustrative purpose, likewise being subject to the transformation. However, in the transformed image, the locations of at least part of the transformed pixels of the image pattern would not be congruent to the pixels of the pixel raster of the transformed image. A pixel raster line PRL of the transformed image is depicted in Figure 3B for illustrative purpose. The actual pixels of the transformed image are on the pixel raster line PRL. As the transformed pixels are in fact rotated in respect of the raster, the rotation, or more in general, the transformation, provides for a displacement of the pixels whereby at least a subset of the pixels PXL are in fact displaced to a location in between the raster lines of the raster. Interpolation, e.g. between adjacent pixels may be required to determine pixel values of the pixels of the transformed image pattern.

Figure 3C depicts a counter transformation of the interpolated pixels of the transformed image pattern. The counter transformation would provide for counter transformed pixels CT-PXL, at least a part of which would be at locations not on the raster of the counter transformed image pattern, as represented by the pixel line PRL of the raster. An imaginary counter transformed pixel raster line CT-PRL is depicted for illustrative purpose, likewise being subject to the counter transformation. Interpolation, e.g. between adjacent pixels of the transformed image pattern may be required to determine pixel values of the pixels of the counter transformed image pattern.

Figure 4A depicts a one dimensional view of a watermark along an x direction in a plane of the image, the vertical axis depicting an amplitude of the watermark WAT versus the background BCK. An effect of the deformation and counter deformation of the watermark is schematically depicted in Fig.4B, showing the watermark WAT and the counter rotated watermark (as may be comprised in the counter rotated image pattern C-RPAT). A result of comparing the image pattern to the counter rotated image pattern is depicted in Figure 4C, showing the compared image pattern, where a signal remains at the edges of the watermark. An absolute value of the spatial derivative of the watermark, DWAT, as an example of a template, is depicted in Figure 3D. A presence of the watermark in the image pattern may be detected by correlating the compared image pattern to the template, at different locations of the template on the compared image pattern.

Figure 5 depicts another embodiment of a watermark, namely a linear dot code LDC comprising a linear sequence of dots DT. In the schematic representation, the dots are schematically indicated by a circle filled with black respectively by a circle filled with white. A corresponding amplitude of the dot code is depicted below the sequence of black and white filled circles. For example, one dot value is encoded as black or dark, and one dot value is encoded as white or bright.

Reverting to the present example, the linear dot code comprises, when following the pattern of dots from left to right in the plane of drawing: a predefined dot start pattern STA, data dots D1 , followed by a mirrored copy of the data dots D2, followed by a predefined dot end pattern STP. In the present example, the predefined dot end pattern forms a mirrored copy of the predefined dot start pattern, thus effectively the predefined start and stop patterns being the same. In the present example, the dot start pattern and the dot end pattern are each formed by 5 dots, i.e. 5 dots, while the identification code, i.e. the payload, i.e. the identification data, is formed by 7 dots. One or more additional dots may be arranged between data dots and the mirrored data dots to mark a centre point of the dot code pattern, so as to enable to retrieve the pair of data dots and mirrored data dots more reliably of more quickly from the image.

As follows from the present example, the predefined dot start code is 11010, in fact ddbdb, whereby d stands for dark, and b stands for bright.

Figure 6A respectively depicts (a) an example of a linear dot code LDC depicted along a straight line, (b) the dot code as may be visible in an image in case the other value of the dots is encoded as no dot, (c) a compared image pattern as may be generated when processing an image as described above, the dots providing in the present example for a signal representing the edges of the dot, and (d) and (e) embodiments of the dot code pattern whereby the dots are arranged along a curve, and interpolated reading lines RL that follow the curve. The linear dot patterns may be arranged in a curve as a result of the linear dot pattern being curved by itself, i.e. arranged in a curve, or in that the surface on which the watermark is arranged is bent, causing the linear dot code pattern to curve due to the bending. Furthermore, as the surface may be round (e.g. in the case of a bottle), the intended shape of the surface of the item may play a role as well in the shape of the dot code pattern as imaged. Figure 5B depicts examples based on which an interpolation will be explained.

An example of a part of the compared image pattern is depicted as (f). Then, in the compared image pattern, the predefined dot start and dot end codes, e.g. in the present example 11010 are searched, and found at both ends of the pattern. The dots may be searched by (automatically) correlating the compared image pattern, e.g. per part, to a template representing the dot and searching for the location(s) where the correlation is highest. As a next step, using the dots as found in the compared image pattern, the predefined dot start code and the predefined dot end code may be identified in the compared image pattern.

Then, a reading line is interpolated from the predefined start code to the predefined dot end code. Embodiments of such interpolation are successively shown at (f) depicting an embodiment of a first order interpolation (g) depicting an embodiment of a second order interpolation, and (h) depicting an embodiment of a third order interpolation. It is noted that the first order interpolation may be performed taking account of two data points, e.g. in the present example the most centrally located dot of the predefined dot start code and the predefined dot end code. The first order interpolation may be able to be performed at low data processing requirements, however may be less accurate in predicting a position of the dots. As Shown at (f), the first order reading line may not be able to take into account the directions of the predefined dot start code and dot end code, hence may provide an inaccurate reading line, in particular in case the directions of the predefined dot start code and predefined dot end code differ from each other or if the predefined dot start code and predefined dot end code are not aligned relative to each other. Accordingly, as seen in Figure 6B, the second order reading line may more accurately follow the dots, while the third order may be yet more accurate, as the third order interpolation may provide more degrees of freedom. The interpolations at (f), (g) and (h) are each performed using the predefined dot start code and the predefined dot end code as the starting point for interpolation. The second and third order interpolations may take into account the orientation direction of the predefined dot start code and the predefined dot end code as well, i.e. may use the locations of plural ones of the dots of the predefined dot start code and the locations of plural ones of the dots of the predefined dot end code as a starting point for the interpolation.

Hence, the interpolation of the Bezier-curve, first start at a straight line between an end of the start-dots and a start of the end-dots, next step is forming the Bezier-curve taking account of the orientation of the start codes and the orientation of the end dots. If the code is read along e.g. the x-axis, the dot code becomes readable.

Having interpolated the reading line, the dot codes may be read along the reading line. Thus, blank dots (non-deformed dots), such as various ones of the dots in the present example, may be retrieved, as the absence of a deformation along parts of the reading line may be interpreted as the presence of the blank dots.

Figure 6C depicts at (i) a linear dot code pattern that is provided with two bends, i.e. two kinks. Having detected the predefined dot start code and predefined dot end code in the image, the interpolation starts from the predefined dot start code, whereby, iteratively, each time a next dot is taken into account in the interpolation process. The interpolation may succeed, e.g. stating from the left side, until the dot at the right side of the first kink is detected. The process may take place as follows:

- interpolating a candidate reading line from at least three consecutive dots, e.g. starting from the left side in the image;

- extrapolating the candidate reading line to an expected position of a following one of the dots;

- detecting a position the following one of the dots;

- in case the detected position of the following one of the dots coincides with the expected position of the following one of the dots:

- interpolating a following candidate reading line from the at least three consecutive dots and the following one of the dots.

This process may take place until the first kink in the dot pattern is reached. Then, it is detected that a difference between the detected position of the following one of the dots and the expected position of the following one of the dots exceeds a predetermined position threshold.

In this case, the process proceeds by:

- assigning the candidate reading line to a reading line part associated with the at least three consecutive dots in the image, i.e. in the present case the dots at the led side of the kink, and

- interpolating a following candidate reading line for at least three following ones of the dots in the image, i.e. the three following dots at the right side of the kink.

The process may again start with a new interpolation at the following kink.

Thus, three reading line parts are obtained as a result of the interpolation. The reading line is now formed from the 3 reading line parts connected to each other. Then, the reading of the dots along the reading line may take place. It is noted that at (i), for illustrative purposes, the dots are depicted adjacent to the curve. A result of the reading is depicted at (j), top part of the image. The read pattern of dots is then aligned, see (j), bottom part, towards a straight line, following which the spacing of the dots is made equidistant, see (k), compare top part with an irregular distance between the dots, to the bottom part where to distance between the dots is set to a fixed value, i.e. the dots being aligned to a raster. The alignment may be particularly beneficial in the case where one of the dot values is represented by no deformation of the surface of the item, thus only one dot value resulting in a detection of a dot. The other dots are then in fact derived by “reading” along the raster, the empty raster points as dots having the “non-deformed” value.

Thus, in case the interpolation cannot be done with a smooth Bezier-curve, there must be an edge in the dot code. Then interpolation is done on one or more parts of the dot code. The dot code is then again read along e.g. the x-axis and interpreted.

Figure 6D depicts at (I) and (m) a dot code that is represented in the compared image pattern by edges of the dots. As a result of transformation and counter transformation, edges of the dots may become visible.

The dots of the linear dot code may become visible in the compared image pattern in various ways. For example, the edges of dot may be highlighted (i.e. be more intense), may be darker. In the case of binary dots, i.e. dots having either one of two values, the dots having one of the dot code values may become visible, while the dots having the other one of the dot code values (which are for example encoded by a blank) may remain invisible.