COMPUTER METHOD AND SYSTEM FOR GENERATING IMAGES WITH ENCODED INFORMATION, IMAGES OBTAINED BY THIS METHOD AND IMAGE READING METHOD AND SYSTEM
20200279346 · 2020-09-03
Inventors
- Nuno Miguel MENDONÇA DA SILVA GONÇALVES (Lisboa, PT)
- Bruno André Santos Patrão (Coimbra, PT)
- Leandro Moraes Valle Cruz (Coimbra, PT)
- João Pedro DE ALMEIDA BARRETO (Coimbra, PT)
Cpc classification
H04N1/32149
ELECTRICITY
H04N1/32229
ELECTRICITY
International classification
Abstract
This invention falls within the scope of steganography, i.e., encoding of information (such as a text) into other information, for example, an image. It is the object of this invention a computational method for generating at least one image with coded information comprising the steps of: i) associating an information to be coded to a plurality of graphic elements, each of the graphic elements consisting of a symbol out of a plurality of symbols, thus generating a pattern of graphic elements and ii) generating at least one image comprising at least one pattern obtained from step i). This method introduces a consistent and highly flexible way of encoding information into an image. Additionally, this invention has also as object a system associated to the said method, images obtained from the said method, as well as a reading method and system thereof.
Claims
1. A computational method for generating at least one image (20) with coded information characterized in that it comprises the steps of: i) associating an information to be encoded with a plurality of graphic elements, each of the graphic elements consisting of a symbol (11) out of a plurality of symbols (11), thus generating a pattern of graphic elements; ii) generating at least one image (20) comprising at least one pattern obtained from step i); and wherein the symbols (11) constitute the graphic elements and the graphic elements constitute the images (20); and wherein the symbols (11) consist of two kinds selected from Pixel (PM) and/or Shape Map (SM), wherein the Shape Map (SM) consist of geometric and complex forms.
2. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that the generation of the said pattern from step i) comprises: obtaining a plurality of graphic elements, each one having a predefined position; associating the information to be encoded to the plurality of graphic elements, thus determining the symbol (11) of each graphic element and thereby obtaining the graphic element pattern.
3. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that step i) further comprises: obtaining at least a first pattern comprising a plurality of graphic elements, each graphic element consisting of a first symbol (11) out of a plurality of first symbols (11) and obtaining at least a second pattern comprising another plurality of graphic elements, each other graphic element consisting of a second symbol (11) out of a plurality of second symbols (11), wherein: the pre-defined positions of the graphic elements of the first pattern are identical to the pre-defined positions of the graphic elements of the second pattern and the first pattern comprises the same number of graphic elements as the second pattern.
4. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that the step ii) for generating at least one image, comprises: sectioning the pattern in a plurality of cells of equal size, each cell being comprised of a number of graphic elements constituting the pattern and inserting each of said cells into a secondary graphic element of a plurality of secondary graphic elements, thus obtaining a composite pattern.
5. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that said insertion consists of overlapping each of the said cells to a secondary graphic element, each secondary graphic element having a size larger than each cell of the same size.
6. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that the step ii) for generating at least one image comprises filling the entirety of a predefined area with said at least one pattern, and with a plurality of filling units consisting of a symbol (11) from the same plurality of symbols (11) as the graphic elements, the symbol (11) of each filling unit being randomly selected from the plurality of symbols (11).
7. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that the step ii) for generating at least one image further comprises the steps of: obtaining a greyscale base image (20) and the greyscale value of each pixel of the base image (20); converting each pixel of said base image (20) into a square cell with side K pixels, each pixel consisting of a graphic element, and each of said graphic elements consisting of a symbol (11), which in turn consists of a white pixel or a black pixel, the number of white or black graphic elements in a square cell corresponding to the greyscale value of the pixel to be converted, thus obtaining a black and white converted image; replacing an area of the converted black and white image with the pattern obtained from step i), the said pattern comprising a plurality of graphic elements consisting of a symbol (11), which in turn consists of a white pixel or a black pixel; generating at least one image (20) comprising the said black and white converted image.
8. The computational method for generating at least one image (20) with coded information according to claim 2 characterized in that the generation of at least one pattern from step i) comprises: obtaining at least two distinct symbols (11), and obtaining a predefined number of pattern-constituting graphic elements grouped in one same cell and consisting of one of said distinct symbols (11), each cell being comprised of an equal number of graphic elements, the coded information being associated to the plurality of graphic elements by the ratio of the distinct graphic elements in one same cell.
9. The computational method for generating at least one image (20) with coded information according to claim 8, characterized in that the said at least two distinct base units consist of a white pixel or a black pixel, and the said value corresponding to encoded information consisting of a greyscale value, which is obtained according to the ratio of white pixels and black pixels in one same cell.
10. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that it comprises generating a first image (20) from claim 1 whose symbols (11) consist of geometric and complex shapes and generating a second image (20) from claim 7 whose symbols (11) are of the pixel type, the first image (20) containing at least one pattern whose graphic elements have a predefined position which is identical to the predefined position of the graphic elements of at least one pattern of the second image (20).
11. The computational method for generating at least one image (20) with coded information according to claim 9, characterized in that the first image (20) corresponds to a decryption key of information encoded in at least one pattern comprised in the second image (20).
12. The computational method for generating at least one image (20) with coded information according to claim 1, characterized in that the said symbols (11) vary in colour and/or shape.
13. An illustration (10) with coded information, characterized in that it comprises a first image (20) and a second image (20) obtained from the computational method for generating at least one image (20) with coded information according to claim 11.
14. A digital image (20) with coded information, characterized in that it is obtained from the computational method for generating at least one image (20) with coded information of claim 1, the said image being preferably rectangular.
15. An image printed on a physical support with coded information, characterized in that it is obtained from the computational method for generating at least one image (20) with coded information according to claim 1 and from a subsequent step of: printing on physical support, the latter being preferably cellulose-based or engraving onto a physical support, the latter being preferably metal-based, more preferably a metal alloy, or consisting of a metallised or non-metallised polyester film, optically variable, or made from a basically polymeric material, this digital image being preferably rectangular.
16. An illustration (10) with coded information, characterized in that it comprises at least one digital image (20) with coded information from claim 14 or at least one image printed on a physical support with coded information from claim 15, and a peripheral area (15), the said image (20) being disposed within the peripheral area (15), not intersecting it, and preferably comprising a substantially linear reference, arranged in such a way that it separates the peripheral area (15) and the said image.
17. The computational method for reading information encoded in an image (20) characterized in that it comprises the following steps: i) obtaining an image, which in its turn is obtained from the computational method for generating at least one image (20) with coded information according claim 1, ii) identifying symbols (11) on said image; iii) going through the symbols (11) identified in the image in a predetermined order and comparing sets of symbols (11) with a plurality of stored patterns.
18. The computational method for reading information encoded in an image (20) according to claim 17, characterized in that the obtainment of an image (20) comprises the digital acquisition of a printed image, the latter comprising a peripheral area (15), the said image (20) with symbols (11) being disposed within the peripheral area (15), not intersecting it, and comprising a substantially linear contour, arranged in such a way that it separates the peripheral area (15) and the said image.
19. The computational method for reading information encoded in an image (20) according to claim 18, characterized in that the identification of symbols (11) comprises identifying the said peripheral area (15) and the consequent identification of symbols (11) within said peripheral area (15).
20. The computational method for reading information encoded in an image (20) according to claim 19, characterized in that the said identification of symbols (11) in an obtained image further comprises a pixel repositioning step of the obtained image, the said pixel repositioning comprising: identifying a neighbouring set of N pixels adjacent to a first set of KK pixels, N and K consisting of non-negative integers; comparing the neighbour set with an expected neighbour set, the said expected neighbour set consisting of a stored pattern; determining the position that minimizes a norm of the difference between the neighbour set and the expected neighbour set, positioning of a new pixel in the position of the previous step; propagating the previous steps by all the pixels of the obtained image; thus obtaining a repositioned obtained image.
21. The computational method for reading information encoded in an image (20) according to claim 20, characterized in that it is implemented by comparing at least a first pixel having a distinct colour from adjacent P pixels of the same colour, P consisting of a non-negative integer, and with a consequent colour change from that first pixel to the colour of the adjacent P pixels, where P is preferably equal to 8.
22. The computational method for reading information encoded in an image (20) according to claim 1, characterized in that it comprises identifying the colour and/or the shape of symbols (11) contained in an obtained image.
23. A computational system for generating at least one image (20) with coded information, characterized in that it comprises computational means and image (20) generation means that are configured to implement the computational method for generating at least one image (20) with coded information according to claim 1, being preferably configured to generate at least one illustration (10) with coded information and/or at least one digital image (20) with coded information and/or at least one image printed on a physical support with coded information.
24. A computational apparatus for reading information encoded in an image (20) characterized in that it comprises computational means and, preferably, optical reading means, which preferably consist of a photo camera, configured to implement the computational method for reading information encoded in an image (20) according to claim 17.
Description
DESCRIPTION OF THE FIGURES
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
DETAILED DESCRIPTION OF THE INVENTION
[0064] The more general advantageous configurations of the present invention are described in the Summary of the invention. These configurations are detailed below in accordance with other advantageous and/or preferred embodiments of the present invention.
[0065] In one embodiment of the present invention, it comprises generating a pattern, and consequently an image, through an array of graphic elements (e.g., pixels of an image (20) or geometric shapes of a hologram) so as to encode information without this being intelligible to a human seeing such an image. In this embodiment, the symbols (11) constituting the graphic elements constituting the images (20) which in turn may be of two kinds: Pixel (PM) and Shape Map (SM), i.e. the latter (SM) consist of geometric and complex forms.
[0066] A PM-based image (20) may consist of a digital image (20) created with a suitable resolution for the printing technique to be used, as well as the ability of a common photo camera to recognize such pixels from a photograph of such image printing. An SM-based image (20) may consist of an image (20) composed of small geometric shapes or small drawings. The said image (20) may normally be printed (for example, using a laser printer on a paper, offset), or printed on other materials (for example, a security hologram generated by electron beam lithography).
[0067] A pattern consists of an array of graphic elements that comprise an image (20) or visual element, or at least part of that image. In one embodiment, the position of the elements is defined from a reading-and-writing structure, which determines the position of the graphic elements. A pattern comprises graphic elements which in turn consist of symbols (11) out of a plurality of symbols (11), and such association is stored in what may be referred to as a dictionary. Once the dictionary is defined, it is possible to create a pattern and thus a visual element with a coded message, as well as decode a message contained in an image.
[0068] A pattern is composed of graphical elements which may consist of symbols (11) out of a plurality of symbols (11). For example, the symbols (11) of a black and white image (20) consist of a black pixel and a white pixel. In addition to the symbols (11), it is necessary to define a structure of predefined positions of the graphic elements corresponding to symbols (11). This structure defines the position of each graphic element. Once the positions have been defined, it is possible to obtain several patterns.
[0069]
[0070] In one embodiment, it is possible to represent a dictionary in a more generic way by replacing the pattern applied to a set of symbols (11) with a sequence of indexes. Accordingly, a same dictionary can be used to encode and decode information in patterns generated with graphic elements to which distinct symbols (11) correspond (with the restriction that the two patterns contain an equal number of graphic elements).
[0071] In one embodiment, the pattern contains a distribution of graphic elements to which a given quantum value can be associated. For example, in a 22 pattern formed by two graphic elements, to which two distinct symbols (11) correspond, we can have the following configurations:
TABLE-US-00001 Amount of symbol 1 Amount of symbol 2 Quantum 0 4 0 1 3 1 2 2 2 3 1 3 4 0 4
[0072] From the quantization of a base image (20) we can establish a relation between a pattern and a quantum. For instance, in the examples, considering graphic elements corresponding to black (symbol (11) 1) and white (symbol (11) 2) pixels, it is possible to quantize a grey scale image (20) in five grey tones (0, 64, 127, 192, 255). Each tone can be associated with a specific quantum. In this way, it is possible to start from a greyscale image (20), quantizing that image (20) and encoding a message at the positions associated to the pixels/symbols (11) whose colour is associated to the quantum used in a dictionary.
[0073] In an embodiment of the decoding method of the present invention, it comprises the step of going through an image obtained (e.g., by a photo camera) in a specific order by looking for sets of graphic elements defining a pattern in a dictionary, this dictionary being stored. Once the said pattern has been identified, it is possible to identify a message associated with it by referring to said dictionary.
[0074] For the purposes of the present embodiment, it is considered that the image (20) to be decoded is printed. Thus, in a first step, a photograph of this image (20) must be captured and then one or more existing patterns therein shall be obtained in order to perform a decoding process.
[0075] In this embodiment, and as regards the image acquisition details, raw data captured by a photo camera are used.
[0076] From these raw data, a rectangular image (20) is obtained whose resolution is an integer multiple of the resolution of a possible image, obtained according to this invention, contained in the captured photograph. Since the images (20) may have different aspect ratiosaccording to the symbols (11)/graphic units/patterns thereinit is necessary to identify a layout from that photograph.
[0077] To that end, in this embodiment, the said substantially linear contour is used, in the present embodiment consisting of an edge around the image (20) that can be efficiently identified. This can be implemented by searching for contours in the captured image (20). Among the contours found, a contour is selected that is well approached by a quadrilateral and whose area is preferably proportional to the resolution of the photograph. Then, a homography is estimated from the vertices of this rectangle. From this homography, it is possible to apply a warping or rectification on the photograph and, finally, to make a cut based on the identified rectangle. This process results in an image (20) that may be larger than the visual identity, but its dimensions keep the said aspect ratio.
[0078]
[0079] The edge of the image (20) of
[0080] The approach of this embodiment of the decoding method of the present invention comprises repositioning the samples of the pixels passing through the centre of the patterns of said edge. For each of these pixels, a set of neighbouring KK pixels is tested and a neighbourhood is compared around this neighbour set with the expected neighbourhood (since the edge pattern is known). The position of the pixel that minimizes the norm of the difference between neighbourhoods will be the new position of the respective sample.
[0081] This repositioning is propagated to the pixels within the image (20) by an interpolation process. The horizontal variations of the upper and lower edges will be interpolated to correct the abscissae of the samples, while the vertical variations of the right and left edges will be used to correct the ordinates of the samples.
[0082] In addition to said overall repositioning performed from the edge repositioning of this embodiment, a local repositioning approach is also implemented. This approach is accomplished by identifying isolated points along the image (20) with coded information. These points are either black pixels in which the closest 8 neighbours are white, or white pixels whose closest 8 neighbours are black (similar to those used at the edge). Among all detected contours, the chosen ones are those which satisfy a rule based on pre-defined diameter and occupied area.
[0083] In this embodiment, the most direct approach for recognizing the colour of a pixel is to use a predefined threshold. Thus, after determining the position of the sample, the colour of the respective pixel will be black if the sample's grey level is less than the threshold, otherwise the colour of the pixel will be white.
[0084] In this embodiment, after identifying the area containing the image (20) with encoded information, a search and identification of shapes contained therein, i.e., the graphic elements, is initiated. These may consist of symbols (11) which are basic shapes (such as squares, triangles, circles, etc.) or more complex and elaborate shapes (such as blazons, shields, etc.).
[0085] In the case of simple shapes, a segmentation of the area of the acquired image (20) is performed into sections and with the aid of a contour detector the graphic unit in the section is identified and recorded.
[0086] In the case of more complex shapes, the same process is used, associated to a detector and descriptor of characteristics. Each graphic element must have a unique set of characteristics, enabling the identification of which one is present in each field of the cell. Such identification may be carried out by any means known in the state of the art.
[0087] Said camera consists of any type of equipment capable of capturing images, which may include a mobile phone or a scanner.
[0088] As will be evident to the person skilled in the art, this invention should not be limited to the embodiments described herein, and a number of changes are possible which remain within the scope of the present invention.
[0089] Obviously, the different configurations and embodiments shown above are combinable, in the different possible forms, the repetition of all such combinations being herein avoided.