WO2008065267A1 - Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel - Google Patents

Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel Download PDF

Info

Publication number
WO2008065267A1
WO2008065267A1 PCT/FR2007/001811 FR2007001811W WO2008065267A1 WO 2008065267 A1 WO2008065267 A1 WO 2008065267A1 FR 2007001811 W FR2007001811 W FR 2007001811W WO 2008065267 A1 WO2008065267 A1 WO 2008065267A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional code
areas
code
product
dark
Prior art date
Application number
PCT/FR2007/001811
Other languages
English (en)
Inventor
Patricia Etienne Suanez
Roger Suanez
Original Assignee
Algoril Holding Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Algoril Holding Sa filed Critical Algoril Holding Sa
Priority to EP07866479A priority Critical patent/EP2084648A1/fr
Priority to US12/513,431 priority patent/US20110053639A1/en
Publication of WO2008065267A1 publication Critical patent/WO2008065267A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Definitions

  • the present invention relates to a method for authenticating a product, based on the clarity analysis of translucent areas included in a two-dimensional code applied to the product, a method for authenticating a two-dimensional code by marking and analysis of certain areas of the two-dimensional code, and the devices for carrying out these methods.
  • the present invention also relates to a new application of a two-dimensional code.
  • Most manufactured products are marked to ensure traceability, especially when crossing borders.
  • most manufactured products have a unique registration, and, if possible, difficult to reproduce. Registration is generally small in order to be discreet on the medium, and to make the illegal reproduction of the product registration more complex, registration is generally non-sequential.
  • Two-dimensional codes are notably used frequently. These are generally in the form of a matrix composed of dark squares and white or translucent squares, whose relative position makes it possible to encode a specific character string on the product.
  • the string can be a keyword, or a concatenation of different keywords, that refer to data included in a database.
  • the "QR-Code” (registered trademark) is one of the most widespread, especially in Japanese industry. It is used in particular to quickly enter personal information on a mobile phone, the personal information being affixed for example on a business card, from the photograph of the code and information processing software.
  • Another coding system frequently used is the public coding system called "datamatrix” (registered trademark). Its most widespread application is for the electronics industry, such as the marking of smart cards, but also sometimes for the registration of wine bottles.
  • the matrix of the datamatrix coding system consists of a data coding area called a "data zone”, having a combination of dark squares and adjacent translucent squares, this data area being surrounded on two adjacent sides by two dark lines called the “trigger bars”, and on the other two sides by two other lines with alternating dark squares and translucent squares, called the “density bars”.
  • the squares are called "areas" afterwards.
  • the matrix coding system "datamatrix" operates as follows: A character string representing information characterizing the product, which must be encoded in the matrix, is first binarized according to a pre-defined coding protocol, for example in format 7-bit ASCII in the Extended Channel Interpretation (ECI) protocol. These binary data are then represented as translucent areas and dark areas, generally representing respectively a 0 bit and a 1 bit. The arrangement of the dark and translucent areas of the various elements of the character string in the area of data follows a specific order and known to those skilled in the art. The translucent areas allow to reveal the support. Dark areas, on the other hand, are generally opaque, created by the impression of a dark ink, and do not allow to see the support underneath.
  • ECI Extended Channel Interpretation
  • a system for correcting reading errors is encoded in the "datamatrix". This allows you to reconstruct and rectify poorly printed, erased, fuzzy or torn data.
  • the mechanism for correcting errors is based on Reed-Solomon codes, generally according to the ECC (Error Corrective Code) standard 200.
  • the two-dimensional coding system "datamatrix" makes it possible to encode a string of characters, typically of ten or a few dozen characters, with matrices of very small size, typically a few millimeters or ten millimeters squared, which makes this system discrete coding when affixed to the product.
  • the reading of translucent and dark areas with a suitable optical system and their decoding can be performed even with a low contrast between the dark areas and the translucent areas.
  • This registration system suffers from several defects. Indeed, although the reduced size of the matrix complicates its reproduction, the "datamatrix" system is not tamper-proof in the state of the prior art. A counterfeiter who has made a fake product can relatively easily add a "datamatrix" code similar to that found on an original product.
  • this coding system encodes information, that is to say the string of characters, which are predefined and affixed to the product. The coding system therefore does not give, in the state of the prior art, information on the product itself but on the string of characters that has been encoded.
  • Another product identification system known in the prior art is to use a high magnification optical imaging system to analyze random variations in the structure of the product material.
  • Each manufactured product has a specific imprint, a random structure, related to the way it was made and / or to the nature of the material that constitutes the product.
  • By comparing the surface structure of the analyzed material with that of a reference standard it is then possible to determine according to predefined criteria whether the product entered is false or not.
  • this authentication system requires the use of two detection systems.
  • a second imaging and information processing device must be used to analyze the structure of the material.
  • the present invention aims to overcome one or more disadvantages of the prior art and in particular to provide a method of authenticating a product from a two-dimensional coding system.
  • the present invention relates to a method for authenticating a product on which is affixed a two-dimensional code representing a string of characters in the form of an arrangement of dark areas and non-dark areas, located in a coding area of data, and in the form of an arrangement of dark areas and non-dark areas, located on the periphery of the data coding area, the non-dark areas, hereinafter referred to as "translucent areas", revealing the substrate of the product, characterized in that it comprises the following steps: a step of reading and recording the two-dimensional code in the form of coded values of electrical signals associated with the intensity of a luminous flux coming from the areas of the code two-dimensional,
  • an inversion / assignment step consisting in creating a binary matrix in which each element is associated with an area of the two-dimensional code, with the value 0 for the elements associated with the dark areas and the translucent areas whose coded value is less than average value of electrical signal, and value 1 to elements associated with translucent areas whose coded value is greater than the average value of electrical signal, a calculation step on the binary matrix whose result determines a code tested,
  • the method is characterized in that the two-dimensional code is produced using a "datamatrix" coding system comprising a data zone, two trigger bars, and two density indicator bars, and that the Data encoding area is the data area, and the peripheral area is the two density bars.
  • the method is characterized in that the two-dimensional code is produced using a "QR-Code" coding system, and the data coding zone corresponds to the QR code data zone. -Code, and that the peripheral zone (3) corresponds to the three trigger zones located on three of the four corners of the "QR-Code".
  • the method is characterized in that the image processing step comprises a segmentation of the areas of the two-dimensional code.
  • the method is characterized in that the decoding step is performed using a decoding protocol stored in a memory to which the image processing software has access.
  • the method is characterized in that the calculation step consists of calculating a polynomial, consisting for each bit of a binary matrix having the binary value of 1, to multiply this value by two, to raise the result to a power, this power being determined as the number of columns present in the bit matrix to which is subtracted the number of the column on which is located the bit for which the calculation is made, such that the first column is located on a predefined border of the binary matrix and then summing all of these results, ie P, with i the line number of the binary matrix such that the first line is located on a predefined border of the binary matrix, j the number of the column, Nb the number of columns present in the binary matrix, N (1) jj the binary value equal to 1 of the area on line i and column j, the term] T () signifying a summation of all terms between
  • the method is characterized in that the comparison and linking step defines the product as a false if the code tested and the code laid down corresponding to the same string of characters are different.
  • the method is characterized in that the code placed is calculated from the two-dimensional code of a product before it is put into circulation.
  • the method is characterized in that the common reference, used for the comparison step, is the string of characters, or part of the string of characters.
  • Another object of the present invention is to propose a new application of a two-dimensional code.
  • the invention relates to a novel application of a two-dimensional code affixed to a product, the two-dimensional code representing a string of characters encoded in the form of an arrangement of dark areas and non-dark areas included in a coding area of data, and other non-dark areas being positioned at the periphery of the data coding area, the non-dark areas allowing the substrate of the product to appear and being referred to as "translucent areas" characterized in that the translucent areas of the two-dimensional code are used to authenticate the product, by analyzing their clarity.
  • Another object of the present invention and to provide a method for authenticating a two-dimensional code.
  • a method of authenticating a two-dimensional code (1) encoding a string of characters (70) using alternating dark areas (10) and non-dark areas (11) located in a data coding area, and using other dark areas (13) and other non-dark areas (14) located in a peripheral area (3) on the periphery of the data coding area, the non-dark areas (11,
  • a first calculation step by encoding software, making it possible to determine a representative digital value (30) of the encoding of the character string (70), a first density allocation step, by the coding software, determining the position of marked dark areas (17) on the peripheral area (3) by a second calculation step from the representative numerical value (30),
  • a step of printing and marking the two-dimensional code consisting of printing the two-dimensional code on the product and adding a marker to the marked dark areas (17), and the decoding step comprises:
  • a step of reading and recording the two-dimensional code with a suitable device, making it possible to record electrical signals associated with areas of the two-dimensional code, to determine a matrix of values representative of the two-dimensional code, and to distinguish the position of the marked dark areas (17) and unmarked dark areas (18) of the peripheral area (3),
  • a step of decoding the two-dimensional code by an image processing software, making it possible to decode the string of characters (70) and to record it
  • a third calculation step by a decoding software, from the encoding of the character string, and according to the same algorithm as in the first calculation step, making it possible to determine the representative numerical value (30) of the coding of the character string (70), - a second density assignment step, by the decoding software, according to the same protocol as the first density assignment step, for determining a position of the marked dark areas (17) and unmarked dark areas (18) from a calculation of the representative numerical value (30) of the string encoding (70), - a step of comparing the positions of the marked dark areas (17) and unmarked dark areas (18) determined on the one hand by the second density assignment step and on the other hand by the reading and recording step.
  • the method is characterized in that the two-dimensional code is produced using a "datamatrix" coding system comprising a data zone, two trigger bars, and two density indicator bars, and that the peripheral zone is associated with the two density indicator bars.
  • the method is characterized in that the two-dimensional code is produced by means of a coding system "QR-QR-QR-
  • the method is characterized in that the first step of calculating the numerical value representative of the encoding of the character string consists in calculating the remainder of a division of a first term by a second term, the second term. term being called the prime number of the character string, the first term being either a product of the ASCII codes of the characters of the character string, or the result of a multiplication of the remainders of a product's divisions of the ASCII codes of the characters of the character string by the prime number of the character string, or any other combinations of product division remains of the ASCII codes of the characters of the character string by the the first number of the character string and the product of these division residuals, so that all the characters of the character string intervene in the computation step by their ASCII code,! e prime number of the string of characters being the nearest prime number and less than the number two raised to the power of the number of characters included in the string.
  • the method is characterized in that the first and second density assignment steps consist in assigning the representative digital value to a dark area located at one end in contact with a trigger bar of one of the indicator bars. of density, to successively divide the representative numerical value by two taking into account only the whole part of the division, to successively assign each of the results of this division to a dark area of the density-indicating bars, starting with the area the darkest of the area to which the representative numerical value is associated and ending with the dark area of the density bars on the diagonally opposite side of the dark area to which the representative numerical value is assigned, to be calculated the rest of the division by the number two each of the results of the division of the representative numerical value, and to assign each of these divisional remains to the same dark area of the density indicator bars with which each of the results of the division of the representative numerical value by two is associated.
  • the method is characterized in that the marking consists of modifying the contrast of the dark areas and / or adding to the marked areas an ink having physicochemical properties different from the ink used for the unmarked areas.
  • Another object of the present invention and to provide a device for implementing the method of authenticating a product.
  • the invention relates to a device for authenticating a product on which a two-dimensional code (1) representing a string of characters in the form of an arrangement of dark areas (10) and non-dark areas (11) is affixed. , 12), comprising an optical imaging device (100), a optical signal converting device to an analog electrical signal (110), an analog / digital converter (130), a memory (140), an image processing software (150) controlled by a microprocessor, and a setting means relationship (160) with a database (170), the optical imaging device (100) consisting of at least one lens for imaging two-dimensional code (1) on the optical signal converting device in an analog electrical signal (110), the optical signal conversion device into an electrical signal (110) consisting of a set of photodetectors for converting a light signal into an analog electrical signal which is converted into a signal.
  • the device is characterized in that the optical imaging device, the optical signal conversion device into an analog electrical signal, the analog / digital converter, the image processing software, the memory and the means of linking with a database are included in a phone - digital camera.
  • the device is characterized in that the image processing software makes it possible to recognize the type of bidimensionnei code affixed to the product by the segmentation and analysis of specific areas of the bidimensionnei code.
  • the device is characterized in that the protocol for decoding the matrix of values is stored in a memory to which the image processing software has access, and that this decoding protocol is adapted to the bidimensionnei code.
  • the device is characterized in that the predefined algorithm of the image processing software consists of calculating a polynomial consisting of each digit having the binary value of 1 of the binary matrix, to multiply this value by two, to raise the result to a power, this power being determined as the number of columns present in the binary matrix to which is subtracted the number of the column on which is located the digit of the binary matrix for which the computation is carried out, such as that the first column is located on a predefined border of the binary matrix, then summing all these results,
  • the device is characterized in that the database is stored in a memory supported by the same device that includes the image processing software, and that the connecting means is an electrical connection.
  • the device is characterized in that the database includes codes that have been placed on products before their circulation and referenced according to a string of characters encoded on the products.
  • Another object of the present invention is to provide a coding device enabling the setting. in. implementation of the authentication method of a two-dimensional code.
  • the invention relates to a coding device for authenticating a two-dimensional code representing a string of characters, comprising encoding software connected to a memory and to a printing and marking means, characterized in that the software of encoding can set binary values of markings from a calculation on the representative numerical value (30), and the printing and marking means makes it possible to print the two-dimensional code on a product and to mark certain dark areas with a marker according to the binary marking values.
  • the device is characterized in that the marker is a black ink, and / or a subtractive combination of inks of different colors, and / or an ink having metalloid elements, and / or an ink having magnetized elements. .
  • Another object of the present invention and to provide a decoding device for implementing the method of authentication of a two-dimensional code.
  • recording which includes an optical imaging device, an optical signal converting device to an analog electrical signal, an analog / digital converter, a memory and a decoding software, the optical imaging device being consisting of at least one lens for imaging the two-dimensional code on the optical signal converting device into an analog electrical signal, the optical signal converting device into an analog electrical signal consisting of a set of photodetectors for converting a light signal into an analog electrical signal which is converted into a digital electrical signal by the analog / digital converter and stored in the memory, characterized in that the software of. decoding can:
  • the device is characterized in that the optical imaging and recording device, the optical signal conversion device into an analog electrical signal, the analog / digital converter, the decoding software and the memory are included in a cell phone - digital camera.
  • the device is characterized in that the decoding protocol of the matrix of values is stored in the memory, and that this decoding protocol is adapted to the two-dimensional code.
  • FIG. 1 represents an example of a non-posed two-dimensional datamatrix code (called a "code before laying"), as well as a step of calculating a code before laying according to the authentication method of a product of the present invention .
  • code before laying a non-posed two-dimensional datamatrix code
  • FIG. 2 represents an example of a "datamatrix" code, placed on a product, initially identical to that of FIG. 1, some translucent zones of which are modified taking into account the texture of the product, with a step of calculating a "code” according to the method of authenticating a product of the present invention.
  • FIG. 3 schematically represents an analysis step according to the present invention in which an average intensity value of certain translucent zones of a two-dimensional code is determined.
  • FIG. 4 diagrammatically represents an inversion / assignment step according to the present invention, in which a bit matrix of which each element represents an area of a two-dimensional code is created, and in which the value 0 or 1 is assigned to the areas according to their intensity.
  • FIG. 5 represents an example of a "datamatrix" code affixed to a product simulating a forgery, the result of the copying of a placed code, with respect to the product on which is affixed the "datamatrix" code of FIG. a step of calculating a code tested according to the authentication method of a product of the present invention.
  • FIG. 5 represents an example of a "datamatrix" code affixed to a product simulating a forgery, the result of the copying of a placed code, with respect to the product on which is affixed the "datamatrix" code of FIG. a step of calculating a code tested according to the authentication method of a product of the present invention.
  • FIG. 6 schematically shows an example of a string of characters to be encoded in a two-dimensional code, and a determination of a numerical value representative of the binary coding of the character string according to the method of authentication of a two-dimensional code. of the present invention.
  • FIG. 7 shows an exemplary method for authenticating a two-dimensional code according to the present invention, the two-dimensional code being a "datamatrix" code representing the character string indicated in FIG. 6 according to an ASCII coding protocol.
  • FIG. 8 represents an exemplary two-dimensional code "QR-code" encoding information that must be affixed to a product.
  • Figure 9 schematically represents steps according to the method of authenticating a product of the present invention.
  • FIG. 10 represents an exemplary device for implementing the authentication method of a product of the present invention.
  • the two-dimensional codes are in the form of an arrangement of dark areas and non-dark areas for coding a string of characters.
  • the areas can be squares, but also any other forms whose arrangement allows to encode a string of characters.
  • the two-dimensional code is composed of an arrangement of triangles, or diamonds, or other geometrical figures representing a variable distribution of densities.
  • the type of two-dimensional code that is affixed to the product is generally identifiable by characteristic areas.
  • the code "datamatrix", of which FIG. 1 represents an example comprises a data zone surrounded by two trigger bars (2) and two density indicator bars (3).
  • the two trigger bars (2) are opaque.
  • the density indicator bars (3) alternate dark areas (13) and non-dark areas (14). These non-dark areas allow to reveal the substrate of the product, and will be called thereafter "translucent areas".
  • the clarity of the dark areas is less than the clarity of the translucent areas.
  • the arrangement of the dark areas (10) and the translucent areas (11) makes it possible to encode information, for example in ASCII code, that is to say to code a string of data. characters, characterizing a product.
  • the row numbers of the data area are associated with the letter i, and the column numbers of the data area are associated with the letter j.
  • the data area has 16 rows and 16 columns.
  • the first row and the first column, i 1 and j ⁇ 1, characterize the area located in the data area at the top left of the figure in the direction given in FIG.
  • the dark areas (10, 13) are made by printing a black ink on the product, so that the areas are opaque and do not allow to see the support underneath.
  • the translucent areas (11, 14) are formed without modification of the support, and in particular without printing ink, which allows to reveal the surface of the substrate by these areas.
  • the dark areas (10, 13) generally correspond to a bit equal to 1
  • the translucent areas (11, 14) generally correspond to a bit equal to 0.
  • the method of authenticating a product begins with a step of reading and recording the two-dimensional code that is affixed to a product. The different steps of the process are shown in FIG. 9.
  • the imaging device captures the image of the surface, and in particular of an area on which the two-dimensional code is located, using an optical signal converting device to an analog electrical signal (110).
  • the optical signal converting device to an analog electrical signal (110) consists of a set of photodetectors.
  • the photodetectors convert the luminous flux (120) into an analog electrical signal whose intensity is dependent on the intensity of the luminous flux.
  • a dark area of the two-dimensional code will emit a low light flux intensity compared to that of a translucent area.
  • Optical imaging devices (100) and optical signal conversion to an analog electrical signal (110) make it possible to collect the luminous flux of each area of the two-dimensional code and to image each of the areas on at least one photodetector, so as to be able to spatially distinguish each of the areas.
  • the analog electrical signals from the photodetectors are read by a suitable device for reading the photodetectors and converted into digital electrical signals by an analog / digital converter (130).
  • the coding of the analog / digital conversion depends on the precision that one wishes to obtain on the intensity values of the analog electrical signals.
  • the information relating to this digital coding is then stored in a memory (140).
  • Figure 2 shows, in a dashed square, an example of signal intensity values associated with four areas with 8-bit coding, i.e., the signal representative of the area may take a value between 1 and 256.
  • An image processing software (150), executed by a processor, which is connected with the memory (140), will exploit the information stored in memory (140), record new information, and modify them throughout the steps the product authentication method described hereinafter.
  • the image processing software (150) exploits the recorded information and makes it possible to "segment" the two-dimensional code, that is to say to distinguish the relative positions of the dark areas (10) and the translucent areas (11), and therefore to associate with each area of the two-dimensional code one or more photodetectors on which the photon flux has been imaged.
  • This analysis, included in the image processing step of the method of the present invention, is performed using one or more characteristic areas of the two-dimensional codes.
  • the trigger bars (2) are opaque and perpendicular.
  • the coded and recorded values corresponding to the intensity of the luminous flux of these areas are therefore identifiable, and make it possible to determine the reading direction of the code.
  • the density indicator bars (3) of the "datamatrix" code have an alternation of dark areas and translucent areas, and the two bars are perpendicular to each other. These two bars are thus also clearly distinguishable and allow to define in particular the dimension of an area.
  • the software can thus, by the analysis of the coded values, distinguish these characteristic zones, and thus the relative position of each area of the two-dimensional code.
  • the image processing software creates a matrix of values, each element of which is associated with an area of the data coding area.
  • the coded values corresponding to the intensity of the luminous flux of each area are compared with a threshold intensity value. If the coded value is less than the threshold intensity value, the area is associated with a binary value in the matrix of values, and if the coded value associated with an area has a value greater than this threshold intensity value, the area is associated with the complementary binary value in the value matrix.
  • This threshold intensity value can be predefined and pre-stored in the memory, and be close to the electrical intensity resulting from the collection and the optical / electrical conversion of the luminous flux of a dark area. known, while being slightly greater than this intensity.
  • the threshold intensity value can also be determined by the specific analysis of each two-dimensional code.
  • the density indicator bars alternate dark areas with translucent areas in a known order.
  • the threshold intensity value can therefore be specifically determined on each two-dimensional code as being greater than the coded value associated with a dark area, and less than the coded value associated with a translucent area.
  • three identical zones are located on three of the four corners of the two-dimensional code (here at the top right and left and bottom left according to the direction of the figure).
  • the three trigger zones consist of a central black square with nine adjacent dark areas, surrounded by translucent areas over a thickness of an area, and themselves surrounded by dark areas.
  • a fourth area consisting of a single dark area, is located in the fourth corner.
  • the image processing software (150) stores the relative position of each area and the coded value corresponding to the intensity of the luminous flux of each area.
  • the coded value associated with each area may be a combination of the electrical intensity from several photodetectors on which the imaging device has made the imaging of an area.
  • the values of the elements of the matrix which is created by the image processing software are generally as follows: the dark areas, for which the coded value is lower than the threshold intensity value, correspond to a binary value of 1, and the complementary value 0 is given for the other areas.
  • a decoding step (201) is performed, making it possible to identify the string of characters affixed in the two-dimensional code. Decoding is done from the matrix of values that was determined in the previous step.
  • the image processing software (150) decodes the two-dimensional code (1) from a decoding protocol stored in memory. Optionally, several decoding protocols are prerecorded, corresponding to several types of two-dimensional code.
  • an analysis of the image processing software of the matrix of values makes it possible to identify the characteristic areas of the two-dimensional code, and thus to determine the type of two-dimensional code and therefore the appropriate decoding protocol.
  • the thus decoded string of characters is stored in the memory (140).
  • the step of determining an average value (202) consists of analyzing the coded values representing the intensity of the luminous flux associated with certain areas of the peripheral zone (3) of the two-dimensional code.
  • the image processing software (150) exploits the recorded encoded values and averages those encoded values associated with certain predefined areas. For example, in the case of a two-dimensional "datamatix" code, some of the translucent areas (14) of the density indicator bars (3) are used for the analysis.
  • the coded values represent an electrical signal intensity, associated with a luminous flux intensity.
  • the analysis therefore consists in determining an average value of these electrical intensities (22) associated with the translucent areas (14) analyzed, which will be called "average value of electrical signal".
  • the diagram (20) schematically shows a comparison between the intensities of electrical signals (A) associated with different translucent areas (14) of the portion of one of the two indicator bars (3) of analyzed density.
  • the average value of electrical signal (22) is thus determined by averaging these different intensities of electrical signals, or hexadecimal codes, or other, representative of the intensities.
  • the translucent areas of the peripheral zone on which the analysis step is carried out can, for example, belong to one or more trigger zones.
  • the inversion / assignment step (203) consists in creating a binary matrix, in which each element is associated with an area of the two-dimensional code, and whose value of the elements depends on the intensity of the electrical signal and the average value. of electrical signal.
  • the binary matrix is created such that the translucent areas, the intensity of the electrical signal is less than the average value, are associated with the binary value 0, and the translucent areas, the intensity of the electrical signal is greater than the average value, are associated with the binary value 1.
  • the dark areas are associated with the value 0.
  • This step is called “inversion" in the sense that the dark areas are now 0, in contrast to the matrix of values created in the image processing step where they were set to 1.
  • Figure 4 shows an arbitrary line (11) of the data area of a "datamatrix" code. This figure shows the inversion / assignment step of the method of the present invention.
  • the image processing software compares the intensity of the electrical signal (A) associated with each translucent area (11, 12) of the data area with the average electrical signal value (22).
  • the image processing software assigns, to each element of a line (i2) of a binary matrix, values dependent on the result of this comparison: the binary value 0 is attributed to the elements associated with the areas whose intensity the electrical signal is less than the average electrical signal value (22), and the binary value 1 is assigned to the area associated elements whose electrical signal strength is greater than the average electrical signal value (22).
  • the translucent areas (12) for which the intensity of the electrical signal (A) is less than the average electrical value (22) are referred to as the translucent altered areas.
  • Figure 2 shows an example of the same two-dimensional code as that of Figure 1, but this time as it is visible when it is affixed to a product.
  • the altered translucent areas (12) hatchched areas
  • other translucent areas (11) This difference in level of clarity comes from the texture of the product, which is not homogeneous and which therefore presents, among other things, asperities, deformations or marks specific to the material used and / or to the way in which the product has been designed.
  • T1 numerical values (T1) represent the values obtained by calculating a polynomial Pj for each row of the binary matrix associated with the bidimensional code presented.
  • the two-dimensional code of FIG. 1 is not placed on a product, and therefore it does not have any corrupted zones. This is why the binary matrix used in the calculation step consists, for this figure, of elements having the value 1 for the translucent areas and 0 for the dark areas.
  • the rows i and columns j, associated with the data coding area correspond identically to the rows and columns of the binary matrix, since each value of the binary matrix is associated with an area of the data coding area.
  • Pi is defined for each line i by:
  • Nb 16
  • i the number of the line on which the polynomial Pj is calculated
  • j the number of the column considered during the calculation
  • N (1) j the binary value associated with the line i and the column j.
  • the calculation is performed only for the areas to which the binary value of 1 is associated, that is to say the translucent areas, so N (1) j is necessarily equal to 1 in this example.
  • other polynomials can be envisaged in another mode of implementation of the method.
  • a "before laying" code (PI) is defined by the sum of the different values (T1) obtained by the calculation of the polynomial P 1 - for each line i.
  • the same calculation step is performed on the binary matrix created in the inversion / allocation step associated with the code of FIG. 2.
  • the two-dimensional code of FIG. 2 is placed on a product, and it therefore has altered areas.
  • the bit matrix associated with the code of FIG. 2 is therefore different from that associated with FIG. 1, because the inversion / assignment step took into account the differences in luminous intensity of the translucent areas.
  • the calculation of the polynomial P on each of the lines of the bit matrix associated with the data area of the code of FIG. 2 thus gives different values (T2) with respect to the values obtained in FIG. 1 (TI), and the summation different values Pi, that is to say the summation of the different values (T2), which gives a "tested code" (P2), shows a result different from the before-laying code (P1) obtained previously in FIG.
  • FIG. 5 represents an exemplary "datamatrix" code, initially identical to that of FIG. 1, but affixed to a product different from that on which the "datamatrix" code of FIG. 2 has been affixed.
  • the product represents here in part occurrence of a false, and its surface structure is different from that of the product on which was affixed the code "datamatrix" of Figure 2.
  • the number and position of the translucent areas (12) altered are different from those shown in Figure 2.
  • the application of the steps of fetching and recording, image processing, decoding, analysis, allocation / inversion and calculation according to the method of the present invention allows to obtain the same character string as that of the two-dimensional code of FIG. 2, but the code tested (P3), resulting from the sum of the results (T3) of the computation of the polynomial P 1 for each line i, is different from the code tested (P2) of FIG.
  • the device containing the image processing software (150) may also contain means (160) for relating to a server (170) (see FIG. ).
  • the Linking enables the image processing software (150) to compare or have the server compare the tested code it has determined with a "code code" contained in a remote database (170).
  • the database (170) is directly included in the same device that contains the image processing software (150), and the latter then has the means to update this database.
  • the "code set” is a code that has been determined on a product according to the process steps described above, and before the product is put into circulation. It therefore represents an identification of the product by analyzing the altered areas of the two-dimensional code that has been affixed to it.
  • the database (170) contains the code placed on each product on which a two-dimensional code is affixed. This posed code is referenced in the database (170).
  • the reference may be, for example, the character string that is encoded on the same product, or part of the character string, or data that is obtained from the string.
  • the step of relating to the database (170) and comparing (205) between the code tested and the code installed makes it possible to authenticate the product. If the two values are different, for the same string of characters, the software can then conclude that it is a forgery, and send a message relative to a user.
  • the device comprising an optical imaging device (100), optical signal conversion to electrical signal (110), analog / digital conversion (130) and memory (140) can be, for example, a mobile phone having a camera.
  • the image processing software (150) can be loaded into the camera phone, or the camera can connect to a server having the image processing software (150) and a memory and transfer the necessary information to the process.
  • the database (170) can also be stored in the camera phone or remotely. The camera phone then has the possibility to connect with a server having the database (170). Possibly, if during the comparison step, the string of characters that has been decoded is not found in the database, or the string can not be decrypted because its encoding mode is not correct, the image processing software can then transmit to an operator a specific error message.
  • the two-dimensional code provides both the coding of information characterizing a product, but also allows the authentication of the product on which the code is affixed, by analyzing the clarity of certain areas of the two-dimensional code according to the method of authenticating a product of the present invention.
  • FIG. 6 shows an example of a character string (70) comprising 18 characters characterizing a product, and which it is desired to encode using a two-dimensional coding system.
  • the string (70) is symbolically placed in a matrix (71) which represents a matrix of a two-dimensional code.
  • Each character of the character string (70) has an ASCII code known to those skilled in the art whose values (T4) are represented next to the matrix (71).
  • a calculation step is performed by encoding software on values of the character string (70) coded according to a predefined coding protocol, for example in ASCII, in order to determine a representative numerical value ( 30) of the character string (70).
  • the calculation step consists of a succession, of calculations that are presented below:
  • the nearest prime number and less than the number two raised to the power of the number of characters (eg 18) included in the character string (70) is determined, which is the nearest prime number and less than 2 18 , ie 262139, This prime number is subsequently called the prime number of the character string.
  • the character string (70) is divided into four approximately equal groups.
  • the first four characters form a first group (41)
  • the next four characters form a second group (42)
  • the next five characters form a third group (43)
  • the last five characters form a fourth group ( 44).
  • the ASCII codes (T4) of each character of the same group are multiplied between them, making it possible to obtain a single digital value produced for each group (41, 42, 43, 44).
  • the division of the numerical value produced of each group (41, 42, 43, 44) by the prime number of the string produces a remainder which makes it possible to obtain a numerical value called modulo value (51, 52, 53 , 54) for each group.
  • modulo values (51, 52, 53, 54) are then multiplied between them and two by two, such that the modulo value of the first group (51) is multiplied with that of the second group (52), and the modulo value of the third group (53) is multiplied with that of the fourth group (54), thus making it possible to obtain two numerical values produced by modulo.
  • the coding software assigns, as a function of the representative digital value, a binary marking value to elements of the matrix of values that represent areas dark and which are located in a peripheral zone (3) of the bidimensionnei code.
  • the arrangement of the dark and non-dark areas of the "datamatrix” code is associated with the matrix of values: the dark areas represent for example a bit equal to 1, and the non-dark areas represent a bit equal to 0.
  • the representative numerical value (30) obtained is related to a dark area (15) located at one end in contact with one of the trigger bars (2) of one of the density indicator bars (3), here bottom right according to the direction FIG. 7.
  • the representative numerical value (30) is divided successively by two, taking into account only the integer part of the result of the division, and each result (T5) of this division is put in relation successively and continuously with a dark area (13) of the density indicator bars (3), starting from the dark area adjacent to the dark area (15) with which the representative numerical value is associated (30), and ending with the dark area (16) located at the diagonally opposite end, so that all the dark areas (13) of the density indicator bars (3) are associated with a numerical value (T5).
  • Each term of the result of the division (T5) is divided by two, making it possible to obtain a binary remainder of this division having a value equal to 0 or a value equal to 1, called a binary marking value, and each of these binary values markers being associated with the same dark area (13) of the density indicator bars (3) to which were associated the successive results (T5) of the division of the representative numerical value (30) by two.
  • the density allocation is carried out, for example, on the dark areas situated on the triggering zones, or on a only trigger zone.
  • a printing and marking step makes it possible to print the two-dimensional code representative of the matrix of values on a product, and to mark certain specific dark areas.
  • the printing and marking device is, for example a printer.
  • the dark areas (13) of the density indicator bars (3) associated with the marking bit value 1 are thus marked with the marking device, thus creating marked areas (17).
  • Other dark areas that are associated with the binary value 0 are not marked (18).
  • the marker may be for example and without restriction a black printing ink to which may be joined metalloid molecules, or magnetic molecules.
  • the marking may also be in the form of a change in the contrast of the dark areas (13).
  • the dark areas (13) of the density indicator bars (3) are printed with gray ink.
  • the dark areas (17) to be marked can be blackened by subtractive color synthesis with the printing and marking device.
  • the step of reading and recording the two-dimensional code consists in using a device adapted to store the two-dimensional code (1) in a memory.
  • the device may consist of an imaging device, an optical signal conversion device into an analog electrical signal, an analog / digital converter, and a memory.
  • the device makes it possible to record in a memory electrical signals associated with the intensity of a light flux coming from the areas of the two-dimensional code, collected by the imaging device, picked up on the optical signal converting device into an analog electrical signal. , and converted to a digital signal.
  • the reading and recording device may also be composed of an induction sensor, in the case where the marking is carried out with an ink creating a magnetic field, or a sensitive sensor in the infrared, in the case where the marking ink has molecules emitting an infrared electromagnetic wave.
  • the device for reading and recording the decoding device may be, for example, a mobile phone equipped with a camera and the software performing the processing corresponding to the method.
  • the step of decoding the two-dimensional code is similar to the step of decoding the two-dimensional code according to the authentication method of a product of the present invention: a decoding software having access to the memory on which the electrical signals are recorded , segments the areas by recognizing characteristic areas of the two-dimensional code, creates a matrix of values each element of which is associated with an area, and decodes the matrix of values according to a pre-recorded decoding protocol in the memory. (I thus obtains the string of characters that has been encoded and stores it in the memory.)
  • the decoding software may, for example, be located remotely, on a server.
  • the reading and recording device is in contact with a connecting means, and communicates with the server to transmit the stored information to it
  • the calculation step of the decoding software is identical to the calculation step coding software so that the character string (70) that was obtained is coded according to the same predefined protocol in the marking step (for example in 7-bit ASCII), and the coded values are used to determine a numerical value representative of the encoding of the string of characters.
  • the density assignment step performed by the decoding software is identical to the density assignment step performed by the coding software. This step is performed from the numerical value representative of the encoding of the character string and the matrix of values that was determined during the decoding step.
  • the decoding software thus stores binary marking values associated with marked dark areas and unmarked dark areas on the area. device (3), and stores these tagging bit values in the memory.
  • the decoding software loads information about the position of the marked dark areas and the dark unmarked areas that were determined by the reading and recording step, and those that were obtained during of the attribution stage. This step thus makes it possible to conclude that the product is a "true” if the positions are identical and a “false” if the positions are different.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Credit Cards Or The Like (AREA)
  • Image Processing (AREA)

Abstract

La présente invention concerne un procédé d'authentification d'un produit à partir d'une analyse de la clarté de blocs translucides présents dans un code bidimensionnel (1), un procédé d'authentification d'un code bidimensionnel (1) et les dispositifs permettant la mise en oevre de ces procédés. Le code bidimensionnel (1), apposé sur un produit, est authentifié en analysant le niveau de clarté d'aires translucides (11, 12, 14) inclues dans le code bidimensionnel (1), et en comparant le résultat de cette analyse avec une référence dans une base de données pré-établi. L'authentification du code bidimensionnel (1) est assurée en marquant sélectivement certaines aires sombres du code bidimensionnel (1), en fonction de la chaîne de caractères qui est encodée, lors d'une étape d'encodage, et en comparant la position des aires sombres marquées et la position définie par la chaîne de caractères lors d'une étape de décodage. La présente invention concerne aussi une application nouvelle des codes bidimensionnels (1).

Description

Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel.
La présente invention concerne un procédé d'authentification d'un produit, à partir de l'analyse de la clarté d'aires translucides inclues dans un code bidimensionnel appliqué sur le produit, un procédé d'authentification d'un code bidimensionnel par marquage et analyse de certaines zones du code bidimensionnel, et les dispositifs permettant la mise en oeuvre de ces procédés. La présente invention concerne aussi une application nouvelle d'un code bidimensionnel. ' La plupart des produits manufacturés possèdent un marquage afin de garantir leur traçabitité, notamment lors de leur passage par des frontières. En particulier, afin de se prémunir de la réalisation de contrefaçons et de pouvoir identifier les faux lors d'un contrôle ou d'une saisie, la plupart des produits manufacturés possède une immatriculation unique, et, si possible, difficilement reproductible. L'immatriculation est généralement de petite taille afin d'être discrète sur le support, et, pour complexifier la reproduction illicite de l'immatriculation du produit, l'immatriculation est généralement non séquentielle.
Il existe dans l'art antérieur différents systèmes de codage et d'immatriculation de produits connus de l'homme du métier. Les codes bidimensionnels sont notamment fréquemment utilisés. Ceux-ci se présentent généralement sous la forme d'une matrice composée de carrés sombres et de carrés blancs ou translucides, dont la position relative permet de coder une chaîne de caractères spécifique sur le produit. La chaîne de caractères peut être un mot clé, ou une concaténation de différents mots clés, qui font références à des données comprises dans une base de données.
Dans cette famille de système de codage bidimensionnel, le « QR- Code » (marque déposée) est l'un des plus répandu, notamment dans l'industrie japonaise. Il est notamment utilisé pour saisir rapidement des informations personnelles sur un téléphone portable, les informations personnelles étant apposées par exemple sur une carte de visite, à partir de la photographie du code et un logiciel de traitement d'information. Un autre système de codage fréquemment utilisé est le système de codage public appelé « datamatrix » (marque déposée). Son application la plus répandue est pour l'industrie électronique, comme le marquage de cartes à puce, mais aussi parfois pour l'immatriculation de bouteilles de vin. La matrice du système de codage « datamatrix » est constituée d'une zone de codage des données appelée « zone de données », présentant une combinaison de carrés sombres et de carrés translucides adjacents, cette zone de données étant entourée sur deux côtés adjacents par deux lignes sombres appelées les « barres de déclenchement », et sur les deux autres côtés par deux autres lignes présentant une alternance de carrés sombres et de carrés translucides, et appelées les « barres indicatrices de densité ». Les carrés sont appelés « aires » par la suite.
Le système de codage matriciel « datamatrix » fonctionne ainsi : Une chaîne de caractères, représentant une information caractérisant le produit, qui doit être codée dans la matrice, est tout d'abord binarisée selon un protocole de codage pré-défini, par exemple en format ASCII 7 bits dans le protocole ECI (Extended Channel Interprétation). Ces données binaires sont ensuite représentées sous la forme d'aires translucides et d'aires sombres, représentant généralement respectivement un bit 0 et un bit 1. L'agencement des aires sombres et translucides des différents éléments de la chaîne de caractères dans la zone de données suit un ordre spécifique et connu de l'homme du métier. Les aires translucides permettent de laisser apparaître le support. Les aires sombres, par contre, sont généralement opaques, créées par l'impression d'une encre foncée, et ne permettent pas de voir le support en dessous.
En plus de cet encodage de l'information caractérisant le produit, un système de correction d'erreurs de lecture est encodé dans la « datamatrix ». Celui-ci permet de reconstituer et rectifier des données mal imprimées, effacées, floues ou arrachées. Le mécanisme de correction des erreurs est basé sur les codes de Reed-Solomon, généralement selon le standard ECC (Error Corrective Code) 200.
Le système de codage bidimensionnel « datamatrix » permet de coder une chaîne de caractères, typiquement d'une dizaine ou de quelques dizaines de caractères, avec des matrices de taille très restreinte, typiquement quelques millimètres ou dizaine de millimètres carrés, ce qui rend ce système de codage discret lorsqu'il est apposé sur Ie produit. De plus, la lecture des aires translucides et sombres avec un système optique adapté et leur décodage peuvent être effectués même avec un contraste faible entre les aires sombres et les aires translucides.
Ce système d'immatriculation souffre cependant de plusieurs défauts. En effet, bien que la taille réduite de la matrice complexifie sa reproduction, le système « datamatrix » n'est pas infalsifiable dans l'état de l'art antérieur. Un contrefacteur qui aurait réalisé un produit faux peut relativement facilement lui adjoindre un code « datamatrix » similaire à celui présent sur un produit original. De plus, ce système de codage encode des informations, c'est-à-dire la chaîne de caractères, qui sont prédéfinies et apposées sur le produit. Le système de codage ne donne donc pas, dans l'état de l'art antérieur, d'informations sur le produit en lui-même mais sur la chaîne de caractères qui lui a été encodée.
Un autre système d'identification de produits connu dans Part antérieur consiste à utiliser un système d'imagerie optique à fort grossissement afin d'analyser les variations aléatoires de la structure de la matière du produit. Chaque produit manufacturé possède une empreinte spécifique, une structure aléatoire, liées à la façon dont il a été réalisé et/ou à la nature même du matériau qui constitue fe produit. En comparant la structure de surface du matériau analysé avec celle d'un étalon de référence, il est alors possible de déterminer selon des critères prédéfinis si le produit saisi est un faux ou non. Cependant, ce système d'authentification nécessite d'utiliser deux systèmes de détection. En plus du système classique de lecture de la chaîne de caractères apposée sous la forme, par exemple, d'un « QR-code » ou d'une « datamatrix », un second dispositif d'imagerie et de traitement d'information doit être utilisé pour analyser la structure du matériau.
La présente invention a pour objet de pallier un ou plusieurs inconvénients de l'art antérieur et notamment de proposer un procédé d'authentification d'un produit à partir d'un système de codage bidimensionnel.
La présente invention concerne un procédé d'authentification d'un produit sur lequel est apposé un code bidimensionnel représentant une chaîne de caractères sous la forme d'un agencement d'aires sombres et d'aires non sombres, situées dans une zone de codage des données, et sous la forme d'un agencement d'aires sombres et d'aires non sombres, situées en périphérie de la zone de codage des données, les aires non sombres, appelées par la suite « aires translucides », laissant apparaître le substrat du produit, caractérisé en ce qu'il comprend les étapes suivantes : - une étape de lecture et d'enregistrement du code bidimensionnel sous la forme de valeurs codées de signaux électriques associées à l'intensité d'un flux lumineux issu des aires du code bidimensionnel,
- une étape de traitement d'image, à partir des valeurs codées enregistrées, consistant à créer une matrice de valeurs dans laquelle chaque élément est associé à une aire du code bidimensionnel,
- une étape de décodage de ia matrice de valeurs, permettant de décoder la chaîne de caractères et de l'enregistrer,
- une étape de détermination d'une valeur moyenne d'intensité de flux lumineux issue d'au moins deux aires translucides situées dans la zone périphérique, par analyse des valeurs codées des signaux électriques,
- une étape d'inversion / attribution, consistant à créer une matrice binaire dans laquelle chaque élément est associée à une aire du code bidimensionnel, avec la valeur 0 aux éléments associés aux aires sombres et aux aires translucides dont la valeur codée est inférieure à Ia valeur moyenne de signal électrique, et la valeur 1 aux éléments associés aux aires translucides dont la valeur codée est supérieure à la valeur moyenne de signal électrique, - une étape de calcul sur la matrice binaire dont le résultat détermine un code testé,
- une étape de mise en relation avec une base de données et de comparaison entre le code testé et un code posé prédéterminé, les deux codes étant associés à une référence.
Selon une particularité, le procédé est caractérisé en ce que le code bidimensionnel est réalisé à l'aide d'un système de codage « datamatrix » comprenant une zone de données, deux barres de déclenchement, et deux barres indicatrices de densité, et que la zone de codage de données correspond à la zone de données, et que la zone périphérique correspond aux deux barres indicatrices de densité.
Selon une autre particularité, le procédé est caractérisé en ce que le code bidimensionnel est réalisé à l'aide d'un système de codage « QR- Code », et que la zone de codage de données correspond à la zone de données du code QR-Code, et que la zone périphérique (3) correspond aux trois zones de déclenchement situées sur trois des quatre coins du « QR- Code ».
Selon une autre particularité, le procédé est caractérisé en ce que l'étape de traitement d'image comprend une segmentation des aires du code bidimensionnel.
Selon une autre particularité, le procédé est caractérisé en ce que l'étape de décodage est réalisée à l'aide d'un protocole de décodage enregistré dans une mémoire à laquelle le logiciel de traitement d'image a accès. Selon une autre particularité, le procédé est caractérisé en ce que l'étape de calcul consiste au calcul d'un polynôme, consistant pour chaque bit d'une matrice binaire ayant la valeur binaire de 1 , à multiplier cette valeur par deux, à élever le résultat à une puissance, cette puissance étant déterminée comme le nombre de colonnes présentes dans la matrice binaire auquel est soustrait le numéro de la colonne sur laquelle est situé le bit pour lequel le calcul est effectué, telle que la première colonne est située sur une bordure prédéfinie de la matrice binaire, puis à sommer l'ensemble de ces résultats, soit P , avec i le numéro de la ligne de la
Figure imgf000008_0001
matrice binaire telle que la première ligne est située sur une bordure prédéfinie de la matrice binaire, j le numéro de la colonne, Nb le nombre de colonnes présentes dans la matrice binaire, N(1)jj la valeur binaire égale à 1 de l'aire située sur la ligne i et la colonne j, le terme ]T( ) signifiant une j sommation de tous les termes compris entre les parenthèses pour j variant de 1 à Nb, et le terme ^ ( ) signifiant une sommation de tous les termes i compris entre les parenthèses sur toutes les valeurs de i existantes.
Selon une autre particularité, le procédé est caractérisé en ce que l'étape de comparaison et de mise en relation définit le produit comme étant un faux si le code testé et le code posé correspondant à la même chaîne de caractères sont différents.
Selon une autre particularité, le procédé est caractérisé en ce que le code posé est calculé à partir du code bidimensionnel d'un produit avant sa mise en circulation.
Selon une autre particularité, le procédé est caractérisé en ce que la référence commune, utilisée pour l'étape de comparaison, est la chaîne de caractères, ou une partie de la chaîne de caractères.
Un autre objet de la présente invention est de proposer une application nouvelle d'un code bidimensionnel.
L'invention concerne une application nouvelle d'un code bidimensionnel apposé sur un produit, le code bidimensionnel représentant une chaîne de caractères codés sous la forme d'un agencement d'aires sombres et d'aires non sombres compris dans une zone de codage de données, et d'autres aires non sombres étant positionnées en périphérie de la zone de codage de données, les aires non sombres permettant de laisser apparaître le substrat du produit et étant appelées « aires translucides » caractérisée en ce que les aires translucides du code bidimensionnel sont utilisées pour authentifier le produit, par l'analyse de leur clarté. Un autre objet de la présente invention et de proposer un procédé d'authentification d'un code bidimensionnel.
L'invention concerne un procédé d'authentification d'un code bidimensionnel (1) codant une chaîne de caractères (70) à l'aide d'une alternance d'aires sombres (10) et d'aires non sombres (11) situées dans une zone de codage des données, et à l'aide d'autres aires sombres (13) et d'autres aires non sombres (14) situées dans une zone périphérique (3) en périphérie de la zone de codage des données, les aires non sombres (11,
12, 14) étant appelées par la suite « aires translucides » et laissant apparaître le substrat du produit, caractérisé en ce qu'il comprend une étape de codage et une étape de décodage telle que l'étape de codage comprend :
- une première étape de calcul, par un logiciel de codage, permettant de déterminer une valeur numérique représentative (30) du codage de la chaîne de caractères (70), - une première étape d'attribution de densité, par le logiciel de codage, consistant à déterminer la position d'aires sombres marquées (17) sur la zone périphérique (3) par une seconde étape de calcul à partir de la valeur numérique représentative (30),
- une étape d'impression et de marquage du code bidimensionnel, consistant à imprimer le code bidimensionnel sur le produit et à adjoindre un marqueur sur les aires sombres marquées (17), et l'étape de décodage comprend :
- une étape de lecture et d'enregistrement du code bidimensionnel, avec un dispositif adapté, permettant d'enregistrer des signaux électriques associés à des aires du code bidimensionnel, de déterminer une matrice de valeurs représentative du code bidimensionnel, et de distinguer la position des aires sombres marquées (17) et des aires sombres non marquées (18) de la zone périphérique (3),
- une étape de décodage du code bidimensionnel, par un logiciel de traitement d'image, permettant de décoder la chaîne de caractères (70) et de l'enregistrer, - une troisième étape de calcul, par un logiciel de décodage, à partir du codage de la chaîne de caractères, et selon un même algorithme que dans Ia première étape de calcul, permettant de déterminer la valeur numérique représentative (30) du codage de la chaîne de caractères (70), - une seconde étape d'attribution de densité, par le logiciel de décodage, selon le même protocole que la première étape d'attribution de densité, permettant de déterminer une position des aires sombres marquées (17) et des aires sombres non marquées (18) à partir d'un calcul sur la valeur numérique représentative (30) du codage de la chaîne de caractères (70), - une étape de comparaison entre les positions des aires sombres marquées (17) et des aires sombres non marquées (18) déterminées d'une part par la seconde étape d'attribution de densité et d'autre part par l'étape de lecture et d'enregistrement.
Selon une particularité, le procédé est caractérisé en ce que le code bidimensionnel est réalisé à l'aide d'un système de codage « datamatrix » comprenant une zone de données, deux barres de déclenchement, et deux barres indicatrices de densité, et que la zone périphérique est associée aux deux barres indicatrices de densité.
Selon une autre particularité, le procédé est caractérisé en ce que le code bidimensionnel est réalisé à l'aide d'un système de codage « QR-
Code », et que la zone périphérique correspond à au moins une des trois zones de déclenchement situées sur trois des quatre coins du « QR-Code »,
Selon une autre particularité, le procédé est caractérisé en ce que la première étape de calcul de la valeur numérique représentative du codage de la chaîne de caractères consiste à calculer le reste d'une division d'un premier terme par un second terme, le second terme étant appelé le nombre premier de la chaîne de caractères, le premier terme étant soit un produit des codes ASCII des caractères de la chaîne de caractères, soit le résultat d'une multiplication des restes de divisions d'un produit des codes ASCII des caractères de la chaîne de caractères par le nombre premier de la chaîne de caractères, ou soit toutes autres combinaisons de restes de division de produits des codes ASCII des caractères de la chaîne de caractères par le nombre premier de la chaîne de caractères et le produit de ces restes de division, de manière à ce que l'intégralité des caractères de la chaîne de caractères interviennent dans l'étape de calcul par leur code ASCII, !e nombre premier de la chaîne de caractères étant le nombre premier le plus proche et inférieur au chiffre deux élevé à la puissance du nombre de caractères compris dans la chaîne de caractères.
Selon une autre particularité, le procédé est caractérisé en ce que les premières et secondes étapes d'attribution de densité consistent à attribuer la valeur numérique représentative à une aire sombre située à une extrémité en contact avec une barre de déclenchement d'une des barres indicatrices de densité, à diviser successivement la valeur numérique représentative par deux en ne tenant compte que de la partie entière de la division, à attribuer successivement chacun des résultats de cette division à une aire sombre des barres -indicatrices de densité en commençant par l'aire sombre le plus proche de l'aire à laquelle est associée la valeur numérique représentative et en terminant par l'aire sombre des barres indicatrices de densité située du côté diagonalement opposé à l'aire sombre à laquelle est attribuée la valeur numérique représentative, à calculer le reste de la division par le chiffre deux de chacun des résultats de la division de la valeur numérique représentative, et à attribuer chacun de ces restes de division à la même aire sombre des barres indicatrices de densité auquel est associé chacun des résultats de la division de la valeur numérique représentative par deux.
Selon une autre particularité, le procédé est caractérisé en ce que le marquage consiste à modifier le contraste des aires sombres et/ou à adjoindre aux aires marquées une encre ayant des propriétés physicochimiques différentes de l'encre utilisée pour les aires non marquées.
Un autre objet de la présente invention et de proposer un dispositif permettant la mise en oeuvre du procédé d'authentification d'un produit.
L'invention concerne un dispositif d'authentification d'un produit sur lequel est apposé un code bidimensionnel (1) représentant une chaîne de caractères sous la forme d'un agencement d'aires sombres (10) et d'aires non sombres (11 , 12), comprenant un dispositif d'imagerie optique (100), un dispositif de conversion de signal optique en signal électrique analogique (110), un convertisseur analogique / numérique (130), une mémoire (140), un logiciel de traitement d'image (150) commandé par un microprocesseur, et un moyen de mise en relation (160) avec une base de données (170), le dispositif d'imagerie optique (100) étant constitué d'au moins une lentille permettant de réaliser l'imagerie du code bidimensionnel (1) sur le dispositif de conversion de signal optique en signal électrique analogique (110), le dispositif de conversion de signal optique en signal électrique (110) étant constitué d'un ensemble de photodétecteurs permettant de convertir un signal lumineux en un signal électrique analogique qui est converti en signa! électrique numérique par le convertisseur analogique / numérique (130) et mémorisé dans la mémoire (140), et caractérisé en ce que le logiciel de traitement d'image (150) inclus des moyens de : segmenter des aires d'un code bidimensionnel à partir de l'analyse de l'intensité des signaux électriques enregistrés dans la mémoire,
- créer une matrice de valeurs en fonction du résultat de la segmentation,
- extraire une chaîne de caractères en décodant la matrice de valeurs selon un protocole de décodage prédéterminé,
- calculer une valeur moyenne (22) de signal électrique à partir des valeurs des signaux enregistrés dans la mémoire,
- créer une matrice binaire dont chaque élément correspond à une aire et dont la valeur de l'élément dépend des valeurs des signaux enregistrés en mémoire et de la valeur moyenne de signal électrique,
- calculer, selon un algorithme prédéfini, un code testé qui dépend de la matrice binaire,
- utiliser le moyen de mise en relation (160) avec une base de données (170) pour comparer le code testé avec un code posé enregistré dans une base de données (170), et référencé selon une chaîne de caractères.
Selon une particularité, le dispositif est caractérisé en ce que le dispositif d'imagerie optique, le dispositif de conversion de signal optique en signal électrique analogique, le convertisseur analogique / numérique, le logiciel de traitement d'image, la mémoire et le moyen de mise en relation avec une base de données sont compris dans un téléphone - appareil photo numérique.
Selon une autre particularité, le dispositif est caractérisé en ce que le logiciel de traitement d'image permet de reconnaître le type de code bidimensionnei apposé sur le produit par la segmentation et l'analyse de zones spécifiques du code bidimensionnei.
Selon une autre particularité, le dispositif est caractérisé en ce que le protocole de décodage de la matrice de valeurs est enregistré dans une mémoire à laquelle le logiciel de traitement d'image a accès, et que ce protocole de décodage est adapté au code bidimensionnei.
Selon une autre particularité, le dispositif est caractérisé en ce que l'algorithme prédéfini du logiciel de traitement d'image consiste au calcul d'un polynôme consistant pour chaque chiffre ayant la valeur binaire de 1 de la matrice binaire, à multiplier cette valeur par deux, à élever le résultat à une puissance, cette puissance étant déterminée comme le nombre de colonnes présentes dans la matrice binaire auquel est soustrait le numéro de la colonne sur laquelle est situé le chiffre de la matrice binaire pour lequel le calcul est effectué, telle que la première colonne est située sur une bordure prédéfinie de la matrice binaire, puis à sommer l'ensemble de ces résultats,
soit P , avec i le numéro de la ligne de la matrice
Figure imgf000013_0001
binaire telle que la première ligne est située sur une bordure prédéfinie de la matrice binaire, j le numéro de la colonne, Nb le nombre de colonnes présentes dans la matrice binaire, N(1)ιj la valeur binaire égale à 1 du chiffre situé sur la ligne i et la colonne j, le terme ]T( ) signifiant une sommation de j tous les termes compris entre les parenthèses pour j variant de 1 à Nb, et le terme ^] ( ) signifiant une sommation de tous les termes compris entre les i parenthèses sur toutes les valeurs de i existantes.
Selon une autre particularité, le dispositif est caractérisé en ce que la base de données est enregistrée dans une mémoire supportée par un même dispositif qui englobe le logiciel de traitement d'image, et que le moyen de mise en relation est une connexion électrique.
Selon une autre particularité, le dispositif est caractérisé en ce que la base de données inclue des codes qui ont été posés sur des produits avant leur mise en circulation et référencées selon une chaîne de caractères codée sur les produits.
Un autre objet de la présente invention et de proposer un dispositif de codage permettant la mise. en. œuvre du procédé d'authentification d'un code bidimensionπel. L'invention concerne un dispositif de codage pour l'authentification d'un code bidimensionnel représentant une chaîne de caractères, comprenant un logiciel de codage connecté à une mémoire et à un moyen d'impression et de marquage, caractérisé en ce que le logiciel de codage peut définir des valeurs binaires de marquages à partir d'un calcul sur la valeur numérique représentative (30), et le moyen d'impression et de marquage permet d'imprimer le code bidimensionnel sur un produit et de marquer certaines aires sombres avec un marqueur en fonction des valeurs binaires de marquage.
Selon une particularité, le dispositif est caractérisé en ce que le marqueur est une encre noire, et/ou une combinaison soustractive d'encres de couleurs différentes, et/ou une encre possédant des éléments métalloïdes, et/ou une encre possédant des éléments magnétisés.
Un autre objet de la présente invention et de proposer un dispositif de décodage permettant la mise en œuvre du procédé d'authentification d'un code bidimensionnel.
L'invention concerne un dispositif de décodage pour l'authentification d'un code bidimensionnel, représentant une chaîne de caractères, constitués d'aires sombres, d'aires sombres marquées et d'aires non sombres, comprenant un dispositif de lecture et d'enregistrement qui inclue un dispositif d'imagerie optique, un dispositif de conversion de signal optique en signal électrique analogique, un convertisseur analogique / numérique, une mémoire et un logiciel de décodage, le dispositif d'imagerie optique étant constitué d'au moins une lentille permettant de réaliser l'imagerie du code bidimensionnel sur le dispositif de conversion de signal optique en signal électrique analogique, le dispositif de conversion de signal optique en signal électrique analogique étant constitué d'un ensemble de photodétecteurs permettant de convertir un signal lumineux en un signal électrique analogique qui est converti en signal électrique numérique par le convertisseur analogique / numérique et mémorisé dans la mémoire, caractérisé en ce que le logiciel de. décodage peut :
- déterminer une matrice de valeurs représentant le code bidimensionnel à partir de l'analyse de l'intensité des signaux électriques enregistrés,
- décoder la matrice de valeurs pour déterminer la chaîne de caractères selon un protocole de décodage prédéfini,
- calculer selon un algorithme prédéfini, une valeur numérique représentative du codage de la chaîne de caractères, et déterminer par un calcul sur la valeur numérique représentative des positions d'aires sombres marquées et d'aires sombres non marquées,
- identifier la position des aires sombres marquées et des aires sombres non marquées par l'analyse des signaux électriques enregistrés,
- comparer les positions des d'aires sombres marquées et des aires sombres non marquées obtenues d'une part par l'analyse des signaux électriques enregistrés et d'autre part par le calcul sur la valeur numérique représentative .
Selon une particularité, le dispositif est caractérisé en ce que le dispositif d'imagerie optique et d'enregistrement, le dispositif de conversion de signal optique en signal électrique analogique, le convertisseur analogique / numérique, le logiciel de décodage et la mémoire sont compris dans un téléphone portable - appareil photo numérique.
Selon une autre particularité, le dispositif est caractérisé en ce que le protocole de décodage de la matrice de valeurs est enregistré dans la mémoire, et que ce protocole de décodage est adapté au code bidimensionnel. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit, pour la compréhension de laquelle on se reportera aux dessins annexés dans lesquels :
La figure 1 représente un exemple de code bidimensionnel « datamatrix » non posé (appelé « code avant pose »), ainsi qu'une étape de calcul d'un code avant pose selon le procédé d'authentification d'un produit de la présente invention.
La figure 2 représente un exemple de code « datamatrix », posé sur un produit, initialement identique à celui de la figure 1 , dont certaines zones translucides sont modifiées compte tenu de la texture du produit, avec une étape de calcul d'un « code posé » selon le procédé d'authentification d'un produit de la présente invention.
La figure 3 représente schématiquement une étape d'analyse selon la présente invention dans laquelle une valeur moyenne d'intensité de certaines zones translucides d'un code bidimensionnel est déterminée.
La figure 4 représente schématiquement une étape d'inversion / attribution selon la présente invention, dans laquelle une matrice binaire dont chaque élément représente une aire d'un code bidimensionnel est créée, et dans laquelle la valeur 0 ou 1 est attribuée aux aires selon leur intensité. La figure 5 représente un exemple d'un code « datamatrix » apposé sur un produit simulant un faux, résultat de la copie d'un code posé, par rapport au produit sur lequel est apposé le code « datamatrix » de la figure 2, avec une étape de calcul d'un code testé selon le procédé d'authentification d'un produit de la présente invention. La figure 6 présente schématiquement un exemple de chaîne de caractères qui doit être codée dans un code bidimensionnel, ainsi qu'une détermination d'une valeur numérique représentative du codage binaire de la chaîne de caractères selon le procédé d'authentification d'un code bidimensionnel de la présente invention. La figure 7 présente un exemple de procédé d'authentification d'un code bidimensionnel selon la présente invention, le code bidimensionnel étant un code « datamatrix » représentant la chaîne de caractères indiquée sur la figure 6 selon un protocole de codage ASCII.
La figure 8 représente un exemple de code bidimensionnel « QR- code » codant une information qui doit être apposée sur un produit. La figure 9 représente schématiquement des étapes selon le procédé d'authentification d'un produit de la présente invention.
La figure 10 représente un exemple de dispositif pour la mise en œuvre du procédé d'authentification d'un produit de la présente invention.
La description suivante présente un exemple de mise en œuvre des procédés d'authentification d'un produit et d'authentification d'un code bidimensionnel selon la présente invention, ainsi qu'une description d'un mode de réalisation envisageable des dispositifs permettant la mise en œuvre de ces procédés. Cette description est présentée notamment pour le système de codage bidimensionnel « datamatrix ». Cependant, les procédés et dispositifs de mise en œuvre des procédés de la présente invention peuvent s'appliquer à toutes autres formes de codes bidimensionnels de type
« QR-Code » ou autres.
Notamment, les codes bidimensionnels se présentent sous la forme d'un agencement d'aires sombres et d'aires non sombres permettant le codage d'une chaîne de caractères. Les aires peuvent être des carrés, mais aussi toutes autres formes dont l'agencement permet de coder une chaîne de caractères. Ainsi, on peut tout aussi bien concevoir que le code bidimensionnel est composé d'un agencement de triangles, ou de losanges, ou autres figures géométriques représentant une répartition variable de densités.
Nous allons maintenant décrire un exemple de mise en œuvre du procédé d'authentification d'un produit et un dispositif adapté à l'aide des figures 1 à 5 et 8 à 10.
Le type de code bidimensionnel qui est apposé sur le produit est généralement identifiable par des zones caractéristiques. Par exemple, le code « datamatrix », dont la figure 1 représente un exemple, comporte une zone de données entourée par deux barres de déclenchement (2) et deux barres indicatrices de densité (3). Les deux barres de déclenchement (2) sont opaques. Les barres indicatrices de densité (3) alternent des aires sombres (13) et des aires non sombres (14). Ces aires non sombres permettent de laisser apparaître le substrat du produit, et seront appelées par la suite « aires translucides ». D'une façon générale, la clarté des aires sombres est inférieure à la clarté des aires translucides. A l'intérieur de la zone de données, l'agencement des aires sombres (10) et des aires translucides (11) permet de coder une information, par exemple en code ASCII, c'est-à-dire de coder une chaîne de caractères, caractérisant un produit. Les numéros de lignes de la zone de données sont associés à la lettre i, et les numéros de colonne de la zone de données sont associés à la lettre j. Dans cet exemple, la zone de données comporte 16 lignes et 16 colonnes. La première ligne et la première colonne, soit i = 1 et j ≈ 1 , caractérisent l'aire située dans la zone de données en haut à gauche de la figure selon le sens donné sur la figure 1.
Les aires sombres (10, 13) sont réalisées par impression d'une encre noire sur le produit, de telle façon que les aires sont opaques et ne permettent pas de voir le support en dessous. Les aires translucides (11 , 14) sont formées sans modification du support, et en particulier sans impression d'encre, ce qui permet de laisser apparaître la surface du substrat par ces aires.
Dans le codage « datamatrix », les aires sombres (10, 13) correspondent généralement à un bit égal à 1 , et les aires translucides (11 , 14) correspondent généralement à un bit égal à 0. Le procédé d'authentification d'un produit commence par une étape de lecture et d'enregistrement du code bidimensionnel qui est apposée sur un produit. Les différentes étapes du procédé sont représentées sur la figure 9.
Le dispositif adapté, dont un exemple est donné sur la figure 10, permettant d'effectuer cette étape de lecture et d'enregistrement (200) du code bidimensionnel comprend un dispositif d'imagerie optique (100), permettant de collecter un flux lumineux (120) issu de la surface du produit sur lequel est apposé le code bidimensionnel, par l'intermédiaire d'une lentille ou d'un jeu de lentilles. Le dispositif d'imagerie capte l'image de la surface, et en particulier d'une zone sur laquelle se situe le code bidimensionnel, en utilisant un dispositif de conversion de signal optique en signal électrique analogique (110). Le dispositif de conversion de signal optique en signal électrique analogique (110) est constitué d'un ensemble de photodétecteurs. Les photodétecteurs convertissent le flux lumineux (120) en un signal électrique analogique, dont l'intensité est dépendante de l'intensité du flux lumineux. Ainsi, une aire sombre du code bidimensionnel émettra une intensité de flux lumineux faible comparée à celui d'une aire translucide.
Les dispositifs d'imagerie optique (100) et de conversion de signal optique en signal électrique analogique (110) permettent de collecter le flux lumineux de chaque aire du code bidimensionnel et d'imager chacune des aires sur au moins un photodétecteur, de manière à pouvoir distinguer spatialement chacune des aires.
Les signaux électriques analogiques issus des photodétecteurs sont lus par un dispositif adapté de lecture des photodétecteurs et convertis en signaux électriques numériques par un convertisseur analogique / numérique (130). Le codage de la conversion analogique / numérique dépend de la précision que l'on souhaite obtenir sur les valeurs d'intensité des signaux électriques analogiques. On peut, par exemple et sans restriction, utiliser un codage du signal analogique sur 7 ou 8 bits. Les informations relatives à ce codage numérique sont ensuite mémorisées dans une mémoire (140). La figure 2 présente, dans un carré en traits discontinus, un exemple de valeurs d'intensité de signai associées à quatre aires avec un codage sur 8 bits, c'est-à-dire que le signal représentatif de l'aire peut prendre une valeur comprise entre 1 et 256.
Un logiciel de traitement d'image (150), exécuté par un processeur, qui est connecté avec la mémoire (140), va exploiter les informations stockées en mémoire (140), en enregistrer de nouvelles, et les modifier tout au long des étapes du procédé d'authentification de produit décrit ci-après. Le logiciel de traitement d'image (150) exploite les informations enregistrées et permet de « segmenter » le code bidimensionnel, c'est-à-dire de distinguer les positions relatives des aires sombres (10) et des aires translucides (11), et donc d'associer à chaque aire du code bidimensionnel un ou plusieurs photodétecteurs sur lesquelles le flux de photons à été imagé. Cette analyse, inclus dans l'étape de traitement d'image du procédé de la présente invention, est réalisée à l'aide d'une ou plusieurs zones caractéristiques des codes bidimensionnel. Dans le cas du code bidimensionnel « datamatrix », les barres de déclenchement (2) sont opaques et perpendiculaires. Les valeurs codées et enregistrées correspondant à l'intensité du flux lumineux de ces aires sont donc identifiables, et permettent de déterminer le sens de lecture du code. Les barres indicatrices de densité (3) du code « datamatrix » présentent une alternance d'aires sombres et d'aires translucides, et les deux barres sont perpendiculaires l'une de l'autre. Ces deux barres sont donc elles-aussi nettement distinguabies et permettent de définir notamment la dimension d'une aire.
Le logiciel peut ainsi, par l'analyse des valeurs codées, distinguer ces zones caractéristiques, et ainsi la position relative de chaque aire du code bidimensionnel.
A partir de cette segmentation, le logiciel de traitement d'image crée une matrice de valeurs, dont chaque élément est associé à une aire de la zone de codage de données. Les valeurs codées correspondant à l'intensité du flux lumineux de chaque aire sont comparées avec une valeur d'intensité seuil. Si la valeur codée est inférieure à la valeur d'intensité seuil, l'aire est associée à une valeur binaire dans fa matrice de valeurs, et si la valeur codée associée à une aire possède une valeur supérieure à cette valeur d'intensité seuil, l'aire est associée à la valeur binaire complémentaire dans la matrice de valeurs. Cette valeur d'intensité seuil peut être prédéfinie et pré-enregistrée dans la mémoire, et être proche de l'intensité électrique issue de la collection et de la conversion optique / électrique du flux lumineux d'une aire sombre connue, tout en étant légèrement supérieure à cette intensité. La valeur d'intensité seuil peut aussi être déterminée par l'analyse spécifique de chaque code bidimensionnel. Ainsi, dans le cas d'un code bidimensionnel du type « datamatrix », les barres indicatrices de densité alternent des aires sombres avec des aires translucides selon un ordre connu. La valeur d'intensité seuil peut donc être spécifiquement déterminée sur chaque code bidimensionnel comme étant supérieure à la valeur codée associée à une aire sombre, et inférieure à la valeur codée associée à une aire translucide.
Dans le cas d'un code bidimensionnel du type « QR-code », dont un exemple est donné sur la figure 8, trois zones identiques, appelées les zones de déclenchement, sont situées sur trois des quatre coins du code bidimensionnel (ici en haut à droite et gauche et en bas à gauche selon le sens de la figure). Dans cet exemple, les trois zones de déclenchement sont constituées d'un carré noir central comportant neuf aires sombres adjacentes, entourées d'aires translucides sur une épaisseur d'une aire, et elles-mêmes entourées d'aires sombres. Une quatrième zone, constituée d'une seule aire sombre, est située dans le quatrième coin. Ces différentes zones sont caractéristiques du code bidimensionnel du type « QR-Code ». Ces trois zones identiques et cette quatrième zone permettent au logiciel de traitement d'image de déterminer le sens de lecture et la position des différentes aires dans le code.
Le logiciel de traitement d'image (150) mémorise la position relative de chaque aire et la valeur codée correspondant à l'intensité du flux lumineux de chaque aire. D'une façon générale, la valeur codée associée à chaque aire peut être une combinaison de l'intensité électrique issue de plusieurs photodétecteurs sur lesquels le dispositif d'imagerie a réalisé l'imagerie d'une aire.
Les valeurs des éléments de la matrice qui est créée par le logiciel de traitement d'image sont généralement les suivantes : les aires sombres, pour lesquels la valeur codée est inférieure à la valeur d'intensité seuil, correspondent à une valeur binaire de 1 , et la valeur complémentaire 0 est donnée pour les autres aires. Après cette étape de traitement d'image, une étape de décodage (201) est réalisée, permettant d'identifier la chaîne de caractères apposée dans le code bidimensionnel. Le décodage s'effectue à partir de la matrice de valeurs qui a été déterminée au cours de l'étape précédente. Le logiciel de traitement d'image (150) décode le code bidimensionnel (1) à partir d'un protocole de décodage enregistré en mémoire. Eventuellement, plusieurs protocoles de décodage sont préenregistrés, correspondant à plusieurs types de code bidimensionnel. Dans ce cas, une analyse du logiciel de traitement d'image de la matrice de valeurs permet d'identifier les zones caractéristiques du code bidimensionnel, et ainsi de déterminer le type de code bidimensionnel et donc le protocole de décodage approprié. La chaîne de caractères ainsi décodée est enregistrée dans la mémoire (140).
L'étape de détermination d'une valeur moyenne (202) consiste à analyser les valeurs codées représentant l'intensité du flux lumineux associées à certaines aires de la zone périphérique (3) du code bidimensionnel. Le logiciel de traitement d'image (150) exploite les valeurs codées enregistrées et réalise une moyenne de ces valeurs codées associées à certaines aires prédéfinies. Par exemple, dans le cas d'un code bidimensionnel « datamatix », certaines des aires translucides (14) des barres indicatrices de densité (3) sont utilisées pour l'analyse. Les valeurs codées représentent une intensité de signal électrique, associé à une intensité de flux lumineux. L'analyse consiste donc à déterminer une valeur moyenne de ces intensités électriques (22) associés aux aires translucides (14) analysées, que l'on appellera « valeur moyenne de signal électrique ». La figure 3 montre ainsi une partie d'une des deux barres indicatrices de densité (3) d'un code bidimensionnel « datamatrix ». Le diagramme (20) présente schématiquement une comparaison entre les intensités de signaux électrique (A) associés à différentes aires translucides (14) de la partie d'une des deux barres indicatrices (3) de densité analysée. La valeur moyenne de signal électrique (22) est ainsi déterminée en moyennant ces différentes intensités de signaux électriques, ou les codes hexadécimaux, ou autres, représentatifs des intensités. Dans le cas d'un code bidimensionnel du type « QR-Code » donné en exemple sur la figure 7, les aires translucides de la zone périphérique sur lesquelles est réalisée l'étape d'analyse peuvent, par exemple, appartenir à une ou plusieurs zones de déclenchement.
L'étape d'inversion / attribution (203) consiste à créer une matrice binaire, dans laquelle chaque élément est associé à une aire du code bidimensionnel, et dont la valeur des éléments dépend de l'intensité du signal électrique et de la valeur moyenne de signal électrique. Ainsi, la matrice binaire est créée telles que les aires translucides, dont l'intensité du signal électrique est inférieure à la valeur moyenne, sont associées à la valeur binaire 0, et les aires translucides, dont l'intensité du signal électrique est supérieure à la valeur moyenne, sont associées à la valeur binaire 1. Les aires sombres sont associées à la valeur 0. Cette étape est dite « d'inversion » dans le sens où les aires sombres ont désormais la valeur 0, contrairement à la matrice de valeurs créée dans l'étape de traitement d'image où elles avaient la valeur 1.
La figure 4 montre une ligne (il) quelconque de la zone de données d'un code « datamatrix ». Cette figure présente l'étape d'inversion / attribution du procédé de la présente invention. Le logiciel de traitement d'image compare l'intensité du signal électrique (A) associée à chaque aire translucide (11 , 12) de la zone de données avec la valeur moyenne de signal électrique (22). Le logiciel de traitement d'image attribue alors, à chaque élément d'une ligne (i2) d'une matrice binaire, des valeurs dépendantes du résultat de cette comparaison : la valeur binaire 0 est attribuée aux éléments associés aux aires dont l'intensité du signal électrique est inférieure à la valeur moyenne de signal électrique (22), et la valeur binaire 1 est attribuée aux éléments associés aux aires dont l'intensité du signal électrique est supérieure à la valeur moyenne de signal électrique (22).
Les aires translucides (12) pour lesquels l'intensité du signal électrique (A) est inférieure à la valeur moyenne électrique (22) sont appelées les aires translucides altérées.
L'étape de calcul est maintenant présentée à l'aide des figures 1, 2 et 5. La figure 2 présente un exemple du même code bidimensionnel que celui de la figure 1 , mais cette fois-ci tel qu'il est visible lorsqu'il est apposé sur un produit. Les aires translucides altérées (12) (aires hachurées) sont moins claires que d'autres aires translucides (11). Cette différence de niveau de clarté provient de la texture du produit, qui n'est pas homogène et qui présente donc, entres autres, des aspérités, des déformations ou des marques propres au matériau utilisé et / ou à la façon dont le produit a été conçu.
Sur la figure 1 , des valeurs numériques (T1) représentent les valeurs obtenues par le calcul d'un polynôme Pj pour chaque ligne de la matrice binaire associée au code bidimensionnel présenté. Le code bidimensionnel de la figure 1 n'est pas posé sur un produit, et donc il ne présente pas de zones altérées. C'est pourquoi la matrice binaire utilisée dans l'étape de calcul est constituée, pour cette figure, d'éléments ayant la valeur 1 pour les aires translucides et 0 pour les aires sombres. Les lignes i et colonnes j, associées à la zone de codage de données, correspondent identiquement aux lignes et aux colonnes de la matrice binaire, car chaque valeur de la matrice binaire est associée à une aire de la zone de codage de données. Dans cet exemple, Pi est défini pour chaque ligne i par :
Pi = ∑(2xN(l)j>N-j) j avec Nb le nombre de colonnes dans la zone de données, c'est-à-dire ici Nb = 16, i est le numéro de la ligne sur laquelle est effectué le calcul du polynôme Pj, j est le numéro de la colonne considérée lors du calcul, N(1)j est la valeur binaire associée à la ligne i et la colonne j. Le calcul est effectué uniquement pour les aires auquel on associe la valeur binaire de 1 , c'est-à- dire les aires translucides, donc N(1)j est forcément égal à 1 dans cet exemple. On peut cependant envisager d'autres polynômes dans un autre mode de mise en oeuvre du procédé. Le terme ^] ( ) signifie que l'on fait la j somme des termes inclus entre les parenthèses pour toutes les valeurs de j existantes, soit de j = 1 à j = Nb. Ainsi, selon cet exemple, le calcul du polynôme Pi pour la première ligne donne : P, = (2x l)15 + (2xl)I2 +(2x l)" +(2x l)lo + (2xl)3 +(2xl)] = 39946.
Un code « avant pose » (PI) est défini par la somme des différentes valeurs (T1) obtenues par le calcul du polynôme P1- pour chaque ligne i.
La même étape de calcul est effectuée sur la matrice binaire créée dans l'étape d'inversion / attribution associée au code de la figure 2. Le code bidimensionnel de la figure 2 est posé sur un produit, et il présente donc des aires altérées. La matrice binaire associée au code de la figure 2 est donc différente de celle associée à la figure 1 , car l'étape d'inversion / attribution a pris en compte les différences d'intensité lumineuse des aires translucides. Le calcul du polynôme P, sur chacune des lignes de la matrice binaire associée à la zone de données du code de la figure 2 donne donc des valeurs différentes (T2) par rapport aux valeurs obtenues sur la figure 1 (TI), et la sommation des différentes valeurs Pi, c'est-à-dire la sommation des différentes valeurs (T2), qui donne un « code testé » (P2), montre un résultat différent du code avant pose (P1) obtenue précédemment sur la figure 1.
La figure 5 représente un exemple de code « datamatrix », initialement identique à celui de la figure 1 , mais apposé sur un produit différent de celui sur lequel a été apposé le code « datamatrix » de la figure 2. Le produit représente ici en l'occurrence un faux, et sa structure de surface est différente de celle du produit sur lequel a été apposé le code « datamatrix » de la figure 2. Dans cet exemple, le nombre et la position des aires translucides (12) altérées sont différents de ceux présentés sur la figure 2. Ainsi, l'application des étapes de fecture et d'enregistrement, de traitement d'image, de décodage, d'analyse, d'attribution/inversion et de calcul selon le procédé de fa présente invention permet d'obtenir la même chaîne de caractères que celle du code bidimensionnel de la figure 2, mais le code testé (P3), issue de la somme des résultats (T3) du calcul du polynôme P1 pour chaque ligne i, est différent du code testé (P2) de la figure 2.
Dans l'étape de mise en relation avec une base de données, le dispositif contenant le logiciel de traitement d'image (150) peut contenir aussi un moyen de mise en relation (160) avec un serveur (170) (cf. figure 10). La mise en relation permet au logiciel de traitement d'image (150) de comparer ou de faire comparer par le serveur le code testé qu'il a déterminé avec un « code posé » contenue dans une base de données (170) à distance. Eventuellement, la base de données (170) est directement englobée dans un même dispositif qui contient le logiciel de traitement d'image (150), et celui-ci possède alors les moyens de mettre à jour cette base de données.
Le « code posé » est un code qui a été déterminé sur un produit selon les étapes du procédé décrites précédemment, et avant la mise en circulation du produit. Il représente donc une identification du produit par l'analyse des aires altérées du code bidimensionnel qui lui a été apposé. La base de données (170) contient le code posé de chaque produit sur lequel un code bidimensionnel est apposé. Ce code posé est référencé dans la base de données (170). La référence peut être, par exemple, la chaîne de caractères qui est codée sur le même produit, ou une partie de la chaîne de caractères, ou une donnée qui est obtenue à partir de la chaîne de caractères.
Ainsi, l'étape de mise en relation avec la base de données (170) et de comparaison (205) entre le code testé et le code posé permet d'authentifier le produit. Si les deux valeurs sont différentes, pour une même chaîne de caractères, le logiciel peut alors conclure qu'il s'agit d'un faux, et envoyer un message relatif à un utilisateur.
Le dispositif comprenant un dispositif d'imagerie optique (100), de conversion de signal optique en signal électrique (110), de conversion analogique / numérique (130) et la mémoire (140) peut être, par exemple, un téléphone portable possédant un appareil photo. Le logiciel de traitement d'image (150) peut être chargé dans le téléphone - appareil photo, ou celui-ci peut se connecter à un serveur possédant le logiciel de traitement d'images (150) et une mémoire et transférer les informations nécessaires pour le procédé. La base de données (170) peut, elle aussi, être soit mémorisée dans le téléphone - appareil photo, soit être positionnée à distance. Le téléphone - appareil photo a alors la possibilité de se connecter avec un serveur possédant la base de données (170). Eventuellement, si lors de l'étape de comparaison, la chaîne de caractères qui a été décodée n'est pas retrouvée dans la base de données, ou que la chaîne de caractères ne peut pas être déchiffrée car son mode de codage n'est pas correct, le logiciel de traitement d'image peut alors transmettre à un opérateur un message spécifique d'erreur.
Ainsi, le code bidimensionnel assure à la fois le codage d'une information caractérisant un produit, mais permet de plus l'authentification du produit sur lequel est apposé le code, par l'analyse de la clarté de certaines zones du code bidimensionnel selon le procédé d'authentification d'un produit de la présente invention.
Nous allons maintenant décrire le procédé d'authentification d'un code bidimensionnel et un exemple de dispositif de codage d'un code et un dispositif de décodage d'un code permettant la mise en oeuvre de ce procédé selon la présente invention, à l'aide des figures 6 et 7. La figure 6 présente un exemple d'une chaîne de caractères (70) comportant 18 caractères caractérisant un produit, et que l'on souhaite encoder à l'aide d'un système de codage bidimensionnel. La chaîne de caractères (70) est symboliquement placée dans une matrice (71) qui représente une matrice d'un code bidimensionnel. Chaque caractère de la chaîne de caractères (70) possède un code ASCII connu de l'homme du métier dont les valeurs (T4) sont représentées à côté de la matrice (71).
Le codage de cette chaîne de caractères seion un protocole connu définit ainsi une matrice de valeurs, dont chaque valeur de bit sera ensuite associée à une aire du code bidimensionnel. Dans l'étape de codage, une étape de calcul est réalisée par un logiciel de codage sur des valeurs de la chaîne de caractères (70) codée selon un protocole de codage prédéfini, par exemple en ASCII, afin de déterminer une valeur numérique représentative (30) de la chaîne de caractères (70). Dans cet exemple non limitatif, l'étape de calcul est constituée d'une succession, de calculs que l'on présente ci-dessous :
Tout d'abord, le nombre premier le plus proche et inférieur au chiffre deux élevé à la puissance du nombre de caractères (par exemple 18) compris dans la chaîne de caractères (70) est déterminé, soit le nombre premier le plus proche et inférieur à 218, soit 262139, Ce nombre premier est appelé par la suite le nombre premier de la chaîne de caractères.
Ensuite, la chaîne de caractères (70) est divisée en quatre groupes approximativement égaux. Dans cet exemple, les quatre premiers caractères forment un premier groupe (41), les quatre caractères suivant forment un second groupe (42), les cinq caractères suivants forment un troisième groupe (43), et les cinq derniers caractères forment un quatrième groupe (44). Puis, les codes ASCII (T4) de chaque caractère d'un même groupe sont multipliés entre eux, permettant d'obtenir une seule valeur numérique produit pour chaque groupe (41, 42, 43, 44). Ensuite, la division de la valeur numérique produit de chaque groupe (41 , 42, 43, 44) par le nombre premier de la chaîne de caractères produit un reste qui permet d'obtenir une valeur numérique appelée valeur modulo (51, 52, 53, 54) pour chacun des groupes.
Les valeurs modulo (51, 52, 53, 54) sont ensuite multipliées entre elles et deux à deux, telle que la valeur modulo du premier groupe (51) est multipliée avec celle du second groupe (52), et la valeur modulo du troisième groupe (53) est multipliée avec celle du quatrième groupe (54), permettant ainsi d'obtenir deux valeurs numériques produit des modulo.
Le reste de la division de ces deux valeurs numériques produit des modulo par le nombre premier de la chaîne de caractères est ensuite déterminé, permettant d'obtenir deux nouvelles valeurs numériques modulo (61 , 62). Enfin, ces deux nouvelles valeurs numériques modulo (61 , 62) sont multipliées entre-elles, et le reste de la division de ce dernier produit par le nombre premier de la chaîne de caractères est déterminé, ce reste étant la valeur numérique représentative (30) de Ia chaîne de caractères (dans l'exemple de la figure 6 la valeur 131118) , Dans l'étape d'attribution de densité, le logiciel de codage attribue, en fonction de la valeur numérique représentative, une valeur binaire de marquage aux éléments de la matrice de valeurs qui représentent des aires sombres et qui sont situées dans une zone périphérique (3) du code bidimensionnei. La figure 7 représente ainsi schématiquement cette étape d'attribution dans le cas particulier d'un code du type « datamatrix » codant la chaîne de caractères (70) en format ASCII, et selon un mode d'attribution possible. L'agencement des aires sombres et non sombres du code « datamatrix » est associé à la matrice de valeurs : les aires sombres représentent par exemple un bit égal à 1 , et les aires non sombres représentent un bit égal à 0. La valeur numérique représentative (30) obtenue est mise en relation avec une aire sombre (15) située à une extrémité en contact avec une des barres de déclenchement (2) d'une des barres indicatrices de densité (3), ici en bas à droite selon le sens de la figure 7. La valeur numérique représentative (30) est divisée successivement par deux en ne tenant compte que de la partie entière du résultat de la division, et chaque résultat (T5) de cette division est mise en relation successivement et continuellement avec une aire sombre (13) des barres indicatrices de densité (3), en commençant par l'aire sombre adjacente à l'aire sombre (15) à laquelle est associée la valeur numérique représentative (30), et en terminant par l'aire sombre (16) située à l'extrémité diagonafement opposée, de sorte que toutes les aires sombres (13) des barres indicatrices de densité (3) sont associées à une valeur numérique (T5).
Chaque terme du résultat de la division (T5) est divisé par deux, permettant d'obtenir un reste binaire de cette division ayant une valeur égale à 0 ou une valeur égale à 1 , appelé valeur binaire de marquage, et chacune de ces valeurs binaires de marquage étant associées à la même aire sombre (13) des barres indicatrices de densité (3) auquel étaient associés les résultats (T5) successifs de la division de la valeur numérique représentative (30) par deux.
Dans le cas d'un code bidimensionnei du type « QR-Code » dont un exemple est donné sur la figure 8, l'attribution de densité est réalisée, par exemple, sur les aires sombres situées sur les zones de déclenchement, ou sur une seule zone de déclenchement. A la suite de cette étape d'attribution de densité, une étape d'impression et de marquage permet d'imprimer le code bidimensionnel représentatif de la matrice de valeurs sur un produit, et de marquer certaines aires sombres spécifiques. Le dispositif d'impression et de marquage est, par exemple une imprimante. Les aires sombres (13) des barres indicatrices de densité (3) associées à la valeur binaire de marquage 1 sont ainsi marquées avec le dispositif de marquage, créant ainsi des aires marquées (17). Les autres aires sombres qui sont associées à la valeur binaire 0 ne sont pas marquées (18). Le marqueur peut être par exemple et sans restriction une encre noire d'impression, à laquelle on peut joindre des molécules métalloïdes, ou des molécules magnétiques. Le marquage peut aussi être sous la forme d'une modification du contraste des aires sombres (13). Dans l'exemple d'application où le contraste est modifié, les aires sombres (13) des barres indicatrices de densité (3) sont imprimées avec une encre grise. Les aires sombres (17) devant être marquées peuvent être noircies par synthèse soustractive de couleur avec le dispositif d'impression et de marquage.
Un exemple d'étape de décodage du procédé de la présente invention est maintenant présenté : L'étape de lecture et d'enregistrement du code bidimensionnel consiste à utiliser un dispositif adapté pour mémoriser le code bidimensionnel (1) dans une mémoire. Par exemple, le dispositif peut être constitué d'un dispositif d'imagerie, d'un dispositif de conversion de signal optique en signal électrique analogique, d'un convertisseur analogique / numérique, et d'une mémoire. Le dispositif permet d'enregistrer dans une mémoire des signaux électriques associés à l'intensité d'un flux lumineux issu des aires du code bidimensionnel, collecté par le dispositif d'imagerie, capté sur le dispositif de conversion de signal optique en signal électrique analogique, et converti en signal numérique. Le dispositif de lecture et d'enregistrement peut aussi être composé d'un capteur à induction, dans le cas où le marquage est réalisé avec une encre créant un champ magnétique, ou d'un capteur sensible dans l'infrarouge, dans le cas où l'encre de marquage possède des molécules émettant une onde électromagnétique infrarouge.
Le dispositif de lecture et d'enregistrement du dispositif de décodage peut être, par exemple, un téléphone portable équipé d'un appareil photo et du logiciel effectuant les traitements correspondants au procédé.
L'étape de décodage du code bidimensionnel est similaire à l'étape de décodage du code bidimensionnel suivant le procédé d'authentification d'un produit de la présente invention : Un logiciel de décodage ayant accès à la mémoire sur laquelle sont enregistrés les signaux électriques, segmente les aires par reconnaissance d'aires caractéristiques du code bidimensionnel, crée une matrice de valeurs dont chaque élément est associé à une aire, et décode la matrice de valeurs selon un protocole de décodage préenregistré dans la mémoire. (I obtient ainsi la chaîne de caractères qui avait été codée et l'enregistre dans la mémoire. Dans une autre variante de réalisation, le logiciel de décodage peut, par exemple, être situé à distance, sur un serveur. Dans ce cas, le dispositif de lecture et d'enregistrement est en contact avec un moyen de mise en relation, et se met en relation avec le serveur pour lui transmettre les informations mémorisées. L'étape de calcul du logiciel de décodage est identique à l'étape de calcul effectuée par le logiciel de codage. Ainsi, la chaîne de caractères (70) qui avait été obtenue, est codée selon le même protocole prédéfini dans l'étape de marquage (par exemple en ASCII 7 bits), et les valeurs codées sont utilisées pour déterminer une valeur numérique représentative du codage de la chaîne de caractères.
De même, l'étape d'attribution de densité effectuée par le logiciel de décodage est identique à l'étape d'attribution de densité effectuée par le logiciel de codage. Cette étape est effectuée à partir de la valeur numérique représentative du codage de la chaîne de caractères et de la matrice de valeurs qui a été déterminée au cours de l'étape de décodage. Le logiciel de décodage mémorise ainsi des valeurs binaires de marquage associées à des aires sombres marquées et des aires sombres non marquées sur la zone périphérique (3), et enregistre ces valeurs binaires de marquage dans la mémoire.
Dans l'étape de comparaison, le logiciel de décodage charge les informations relatives à la position des aires sombres marquées et des aires sombres non marquées qui ont été déterminées par l'étape de lecture et d'enregistrement, et celles qui ont été obtenues lors de l'étape d'attribution. Cette étape permet ainsi de conclure que le produit est un « vrai » si les positions sont identiques et un « faux » si les positions sont différentes.
Le résultat de cette comparaison est enfin transmis à un opérateur, par exemple sous un format booléen « vrai » ou « faux ».
Il doit être évident pour l'homme du métier que la présente invention permet des modes de mise en œuvre du procédé sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiquée. Par conséquent, le présent mode de mise en oeuvre doit être considéré à titre d'illustration, mais peut être modifié dans le domaine défini par la portée des revendications jointes, et l'invention ne doit pas être limitée aux détails donnés ci-dessus.

Claims

Revendications
1. Procédé d'authentification d'un produit sur lequel est apposé un code bidimensionnel (1) représentant une chaîne de caractères sous la forme d'un agencement d'aires sombres (10) et d'aires non sombres (11 , 12), situées dans une zone de codage des données, et sous la forme d'un agencement d'aires sombres (13) et d'aires non sombres (14), situées en périphérie de la zone de codage des données, les aires non sombres (11 , 12, 14), appelées par la suite « aires translucides », laissant apparaître le substrat du produit, caractérisé en ce qu'il comprend les étapes suivantes : - une étape de lecture et d'enregistrement (200) du code bidimensionnel sous la forme de valeurs codées de signaux électriques associées à l'intensité d'un flux lumineux issu des aires du code bidimensionnel,
- une étape de traitement d'image, à partir des valeurs codées enregistrées, consistant à créer une matrice de valeurs dans laquelle chaque élément est associé à une aire du code bidimensionnef,
- une étape de décodage (201) de Ia matrice de valeurs, permettant de décoder fa chaîne de caractères et de l'enregistrer,
- une étape de détermination (202) d'une valeur moyenne d'intensité de flux lumineux issue d'au moins deux aires translucides (14) situées dans la zone périphérique (3), par analyse des valeurs codées des signaux électriques,
- une étape d'inversion / attribution (203), consistant à créer une matrice binaire dans laquelle chaque élément est associé à une aire du code bidimensionnel, avec la valeur 0 aux éléments associés aux aires sombres et aux aires translucides (12) dont la valeur codée est inférieure à la valeur moyenne de signal électrique (22), et la valeur 1 aux éléments associés aux aires translucides (12) dont la valeur codée est supérieure à la valeur moyenne de signal électrique (22),
- une étape de calcul (204) sur la matrice binaire dont le résultat détermine un code testé, - une étape de mise en relation avec une base de données et de comparaison (205) entre le code testé et un code posé prédéterminé, les deux codes étant associés à une référence.
2. Procédé selon la revendication 1 caractérisé en ce que le code bidimensionnel (1) est réalisé à l'aide d'un système de codage « datamatrix » comprenant une zone de données, deux barres de déclenchement (2), et deux barres indicatrices de densité (3), et que la zone de codage de données correspond à Ia zone de données, et que la zone périphérique (3) correspond aux deux barres indicatrices de densité (3).
3. Procédé selon la revendication 1 caractérisé en ce que le code bidimensionnel (1) est réalisé à l'aide d'un système de codage « QR-Code », et que la zone de codage de données correspond à la zone de données du code QR-Code, et que la zone périphérique (3) correspond aux trois zones de déclenchement situées sur trois des quatre coins du « QR-Code ».
4. Procédé selon la revendication 1 caractérisé en ce que l'étape de traitement d'image comprend une segmentation des aires du code bidimensionnel.
5. Procédé selon la revendication 1 caractérisé en ce que i'étape de décodage (201) est réalisée à l'aide d'un protocole de décodage enregistré dans une mémoire à laquelle !e logiciel de traitement d'image a accès.
6. Procédé selon une quelconque des revendications précédentes, caractérisé en ce que l'étape de calcul consiste au calcul d'un polynôme (P), consistant pour chaque bit d'une matrice binaire ayant la valeur binaire de 1 , à multiplier cette valeur par deux, à élever le résultat à une puissance, cette puissance étant déterminée comme le nombre de colonnes présentes dans la matrice binaire auquel est soustrait le numéro de la colonne sur laquelle est situé le bit pour lequel le calcul est effectué, telle que la première colonne est située sur une bordure prédéfinie de la matrice binaire, puis à sommer
l'ensemble de ces résultats, soit P = ∑ ∑(2χN(l)y)(Nb"j) , avec i le numéro de la ligne de la matrice binaire telle que la première ligne est située sur une bordure prédéfinie de la matrice binaire, j le numéro de la colonne, Nb le nombre de colonnes présentes dans la matrice binaire, N(1)j,j la valeur binaire égale à 1 de Caire située sur la ligne i et la colonne j, le terme ∑( ) signifiant une sommation de tous les termes compris entre les j parenthèses pour j variant de 1 à Nb, et le terme ]T ( ) signifiant une i sommation de tous les termes compris entre les parenthèses sur toutes les valeurs de i existantes.
7. Procédé selon une quelconque des revendications précédentes caractérisé en ce que l'étape de comparaison (205) et de mise en relation définit le produit comme étant un faux si le code testé et le code posé correspondant à la même chaîne de caractères sont différents.
8. Procédé selon une quelconque des revendications précédentes caractérisé en ce que le code posé est calculée à partir du code bidimensionnei d'un produit avant sa mise en circulation.
9. Procédé selon une quelconque des revendications précédentes caractérisé en ce que la référence commune, utilisée pour l'étape de comparaison (205), est la chaîne de caractères, ou une partie de la chaîne de caractères.
10. Procédé selon la revendication 1 caractérisé en ce que le code bidimensionnei (1) est authentifié par une étape de codage et une étape de décodage telle que l'étape de codage comprend :
- une première étape de calcul, par un logiciel de codage, permettant de déterminer une valeur numérique représentative (30) du codage de la chaîne de caractères (70),
- une première étape d'attribution de densité, par le logiciel de codage, consistant à déterminer la position d'aires sombres marquées (17) sur la zone périphérique (3) par une seconde étape de calcul à partir de la valeur numérique représentative (30), - une étape d'impression et de marquage du code tridimensionnel, consistant à imprimer le code bidimensionnel sur le produit et à adjoindre un marqueur sur les aires sombres marquées (17), et l'étape de décodage comprend : - une étape de lecture et d'enregistrement du code bidimenstonnel, avec un dispositif adapté, permettant d'enregistrer des signaux électriques associés à des aires du code bidimensionnel, de déterminer une matrice de valeurs représentative du code bidimensionnel, et de distinguer la position des aires sombres marquées (17) et des aires sombres non marquées (18) de la zone périphérique (3),
- une étape de décodage du code bidimensionnel, par un logiciel de traitement d'image, permettant de décoder la chaîne de caractères (70) et de l'enregistrer,
- une troisième étape de calcul, par un logiciel de décodage, à partir du codage de la chaîne de caractères, et selon un même algorithme que dans la première étape de calcul, permettant de déterminer Ia valeur numérique représentative (30) du codage de la chaîne de caractères (70),
- une seconde étape d'attribution de densité, par le logiciel de décodage, selon le même protocole que la première étape d'attribution de densité, permettant de déterminer une position des aires sombres marquées (17) et des aires sombres non marquées (18) à partir d'un calcul sur la valeur numérique représentative (30) du codage de la chaîne de caractères (70),
- une étape de comparaison entre les positions des aires sombres marquées (17) et des aires sombres non marquées (18) déterminées d'une part par la seconde étape d'attribution de densité et d'autre part par l'étape de lecture et d'enregistrement.
11. Procédé selon la revendication 10 caractérisé en ce que le code bidimensionnel (1) est réalisé à l'aide d'un système de codage « datamatrix » comprenant une zone dé "données, deux barres de déclenchement (2), et deux barres indicatrices de densité (3), et que la zone périphérique (3) est associée aux deux barres indicatrices de densité (3).
12. Procédé selon la revendication 10 caractérisé en ce que le code bidimensionnel (1) est réalisé à l'aide d'un système de codage « QR-Code », et que la zone périphérique (3) correspond à au moins une des trois zones de déclenchement situées sur trois des quatre coins du « QR-Code ».
13. Procédé selon la revendication 10 caractérisé en ce que la première étape de calcul de la valeur numérique représentative (30) du codage de la chaîne de caractères consiste à calculer le reste d'une division d'un premier terme par un second terme, le second terme étant appelé le nombre premier de la chaîne de caractères, le premier terme étant soit un produit des codes ASCII des caractères de la chaîne de caractères (70), soit le résultat d'une multiplication des restes de divisions d'un produit des codes ASCII des caractères de la chaîne de caractères (70) par le nombre premier de la chaîne de caractères, ou soit toutes autres combinaisons de restes de division de produits des codes ASCII des caractères de la chaîne de caractères (70) par le nombre premier de la chaîne de caractères et le produit de ces restes de division, de manière à ce que l'intégralité des caractères de Ia chaîne de caractères (70) interviennent dans l'étape de calcul par leur code ASCII, le nombre premier de la chaîne de caractères étant le nombre premier le plus proche et inférieur au chiffre deux élevé à la puissance du nombre de caractères compris dans la chaîne de caractères (70).
14, Procédé selon une quelconque des revendications 10 à 13 caractérisé en ce que les premières et secondes étapes d'attribution de densité consistent à attribuer la valeur numérique représentative (30) à une aire sombre (15) située à une extrémité en contact avec une barre de déclenchement (2) d'une des barres indicatrices de densité (3), à diviser successivement la valeur numérique représentative (30) par deux en ne tenant compte que de la partie entière de la division, à attribuer successivement chacun des résultats de cette division (T5) à une aire sombre (13) des barres indicatrices de densité (3) en commençant par l'aire sombre le plus proche de l'aire (15) à laquelle est associée Ia valeur numérique représentative (30) et en W
36
terminant par l'aire sombre (16) des barres indicatrices de densité située du côté diagonalement opposé à l'aire sombre (15) à laquelle est attribuée la valeur numérique représentative (30), à calculer le reste de la division par le chiffre deux de chacun des résultats (T5) de la division de la valeur 5 numérique représentative (30), et à attribuer chacun de ces restes de division à la même aire sombre (13) des barres indicatrices de densité (3) auquel est associé chacun des résultats (T5) de la division de la valeur numérique (30) représentative par deux.
15. Procédé selon la revendication 10 caractérisé en ce que le marquage0 consiste à modifier le contraste des aires sombres et/ou à adjoindre aux aires marquées (17) une encre ayant des propriétés physico-chimiques différentes de l'encre utilisée pour les aires non marquées (18).
16. Dispositif d'authentification d'un produit sur lequel est apposé un code bidimensionnel (1) représentant une chaîne de caractères sous la forme d'un5 agencement d'aires sombres (10) et d'aires non sombres (11, 12), permettant la mise en œuvre du procédé selon une des revendications 1 à 9, comprenant un dispositif d'imagerie optique (100), un dispositif de conversion de signal optique en signal électrique analogique (110), un convertisseur analogique / numérique (130), une mémoire (140), un logiciel de traitement0 d'image (150) commandé par un microprocesseur, et un moyen de mise en relation (160) avec une base de données (170), le dispositif d'imagerie optique (100) étant constitué d'au moins une lentille permettant de réaliser l'imagerie du code bidimensionnel (1) sur le dispositif de conversion de signal optique en signal électrique analogique (110), Ie dispositif de conversion de5 signal optique en signal électrique (110) étant constitué d'un ensemble de photodétecteurs permettant de convertir un signal lumineux en un signal électrique analogique qui est converti en signal électrique numérique par le convertisseur analogique / numérique (130) et mémorisé dans la mémoire (140), et caractérisé en ce que le logiciel de traitement d'image (150) inclus des moyens de :
- segmenter des aires d'un code bidimensionnel à partir de l'analyse de l'intensité des signaux électriques enregistrés dans la mémoire, - créer une matrice de valeurs en fonction du résultat de ia segmentation,
- extraire une chaîne de caractères en décodant la matrice de valeurs selon un protocole de décodage prédéterminé,
- calculer une valeur moyenne (22) de signal électrique à partir des valeurs des signaux enregistrés dans la mémoire,
- créer une matrice binaire dont chaque élément correspond à une aire et dont la valeur de l'élément dépend des valeurs des signaux enregistrés en mémoire et de la valeur moyenne de signal électrique,
- calculer, selon un algorithme prédéfini, un code testé qui dépend de la matrice binaire,
- utiliser le moyen de mise en relation (160) avec une base de données (170) pour comparer le code testé avec un code posé enregistré dans une base de données (170), et référencé selon une chaîne de caractères.
17. Dispositif d'authentification d'un produit selon la revendication 16 caractérisé en ce que le dispositif d'imagerie optique (100), le dispositif de conversion de signal optique en signal électrique analogique (110), le convertisseur analogique / numérique (130), la mémoire (140), Ie logiciel de traitement d'image (150) et le moyen de mise en relation (160) avec une base de données sont compris dans un téléphone - appareil photo numérique.
18. Dispositif d'authentification d'un produit selon une quelconque des revendications 16 à 17 caractérisé en ce que le logiciel de traitement d'image (150) permet de reconnaître le type de code bidimensionnel apposé sur le produit par la segmentation et l'analyse de zones spécifiques du code bidimensionnel.
19. Dispositif d'authentification d'un produit selon une quelconque des revendications 16 à 18 caractérisé en ce que le protocole de décodage de la matrice de valeurs est enregistré dans une mémoire à laquelle le logiciel de traitement d'image a accès, et que ce protocole de décodage est adapté au code bidimensionnel.
20. Dispositif d'authentification d'un produit selon une quelconque des revendications 16 à 19 caractérisé en ce que l'algorithme prédéfini du logiciel de traitement d'image consiste au calcul d'un polynôme consistant pour chaque chiffre ayant la valeur binaire de 1 de la matrice binaire, à multiplier cette valeur par deux, à élever le résultat à une puissance, cette puissance étant déterminée comme le nombre de colonnes présentes dans la matrice binaire auquel est soustrait le numéro de la colonne sur laquelle est situé le chiffre de la matrice binaire pour lequel le calcul est effectué, telle que la première colonne est située sur une bordure prédéfinie de la matrice binaire,
puis à sommer l'ensemble de ces résultats, soit
Figure imgf000040_0001
, avec i le numéro de la ligne de la matrice binaire telle que la première ligne est située sur une bordure prédéfinie de la matrice binaire, j le numéro de la colonne, Nb le nombre de colonnes présentes dans Ia matrice binaire, N(1)i,j la valeur binaire égale à 1 du chiffre situé sur la ligne i et la colonne j, le
terme
Figure imgf000040_0002
signifiant une sommation de tous les termes compris entre les
parenthèses pour j variant de 1 à Nb, et le terme
Figure imgf000040_0003
signifiant une sommation de tous les termes compris entre les parenthèses sur toutes les valeurs de i existantes.
21. Dispositif d'authentification d'un produit selon une quelconque des revendications 16 à 20 caractérisé en ce que la base de données (170) est enregistrée dans une mémoire supportée par un même dispositif qui englobe le logiciel de traitement d'image (150), et que le moyen de mise en relation est une connexion électrique.
22. Dispositif d'authentification d'un produit selon une quelconque des revendications 16 à 21 caractérisé en ce que la base de données (170) inclue des codes qui ont été posés sur des produits avant leur mise en circulation et référencées selon une chaîne de caractères codée sur les produits.
23. Dispositif de codage pour l'authentification d'un code tridimensionnel permettant la mise en œuvre du procédé selon une des revendications 10 à 15 et représentant une chaîne de caractères, comprenant un logiciel de codage connecté à une mémoire et à un moyen d'impression et de marquage, caractérisé en ce que le logiciel de codage peut définir des valeurs binaires de marquages à partir d'un calcul sur la valeur numérique représentative (30), et le moyen d'impression et de marquage permet d'imprimer le code bidimensionnel sur un produit et de marquer certaines aires sombres avec un marqueur en fonction des valeurs binaires de marquage.
24. Dispositif de codage selon la revendication 23 caractérisé en ce que le marqueur est une encre noire, et/ou une combinaison soustractive d'encres de couleurs différentes, et/ou une encre possédant des éléments métalloïdes, et/ou une encre possédant des éléments magnétisés.
25. Dispositif de décodage pour l'authentification d'un code bidimensionnel permettant la mise en œuvre du procédé selon une des revendications 10 à 15 et représentant une chaîne de caractères, constitués d'aires sombres (10, 18), d'aires sombres marquées (17) et d'aires non sombres (11, 14), comprenant un dispositif de lecture et d'enregistrement qui inclue un dispositif d'imagerie optique, un dispositif de conversion de signal optique en signal électrique analogique, un convertisseur analogique / numérique, une mémoire et un logiciel de décodage, le dispositif d'imagerie optique étant constitué d'au moins une lentille permettant de réaliser l'imagerie du code bidimensionnel sur le dispositif de conversion de signal optique en signal électrique analogique, le dispositif de conversion de signal optique en signal électrique analogique étant constitué d'un ensemble de photodétecteurs permettant de convertir un signal lumineux en un signal électrique analogique qui est converti en signal électrique numérique par le convertisseur analogique / numérique et mémorisé dans la mémoire, caractérisé en ce que le logiciel de décodage peut : - déterminer une matrice de valeurs représentant le code bidimensionnel à partir de l'analyse de l'intensité des signaux électriques enregistrés,
- décoder la matrice de valeurs pour déterminer la chaîne de caractères selon un protocole de décodage prédéfini, - calculer selon un algorithme prédéfini, une valeur numérique représentative (30) du codage de la chaîne de caractères, et déterminer par un calcul sur la valeur numérique représentative (30) des positions d'aires sombres marquées (17) et d'aires sombres non marquées (18),
- identifier la position des aires sombres marquées (17) et des aires sombres non marquées (18) par l'analyse des signaux électriques enregistrés,
- comparer les positions des d'aires sombres marquées (17) et des aires sombres non marquées (18) obtenues d'une part par l'analyse des signaux électriques enregistrés et d'autre part par le calcul sur Ia valeur numérique représentative (30).
26. Dispositif de décodage selon la revendication 25 caractérisé en ce que le dispositif d'imagerie optique et d'enregistrement, le dispositif de conversion de signal optique en signal électrique analogique, le convertisseur analogique / numérique, le logiciel de décodage et la mémoire sont compris dans un téléphone portable - appareil photo numérique.
27. Application nouvelle d'un code bidimensionnel (1) apposé sur un produit, permettant l'utilisation du procédé selon la revendication 1 , le code bidimensionnel (1) représentant une chaîne de caractères codés sous la forme d'un agencement d'aires sombres (10) et d'aires non sombres (11 , 12) compris dans une zone de codage de données, et d'autres aires non sombres (14) étant positionnées en périphérie (3) de la zone de codage de données, les aires non sombres permettant de laisser apparaître le substrat du produit et étant appelé « aires translucides » caractérisée en ce que les aires translucides (11, 12, 14) du code bidimensionnel sont utilisées pour authentifier le produit, par l'analyse de leur clarté.
PCT/FR2007/001811 2006-11-03 2007-10-31 Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel WO2008065267A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP07866479A EP2084648A1 (fr) 2006-11-03 2007-10-31 Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel
US12/513,431 US20110053639A1 (en) 2006-11-03 2007-10-31 Methods and devices for authenticating a product and a two-dimensional code and novel application of a two-dimensional code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0609611 2006-11-03
FR0609611A FR2908203B1 (fr) 2006-11-03 2006-11-03 Procedes et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel.

Publications (1)

Publication Number Publication Date
WO2008065267A1 true WO2008065267A1 (fr) 2008-06-05

Family

ID=38256011

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/001811 WO2008065267A1 (fr) 2006-11-03 2007-10-31 Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel

Country Status (4)

Country Link
US (1) US20110053639A1 (fr)
EP (1) EP2084648A1 (fr)
FR (1) FR2908203B1 (fr)
WO (1) WO2008065267A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114254719A (zh) * 2021-12-17 2022-03-29 广州市宝绅科技应用有限公司 一种新型防伪二维码的生成方法及装置

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353774B2 (en) * 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
US8807421B2 (en) * 2011-04-26 2014-08-19 Michael Alexander Johnson Composite code with dynamic linking to internet addresses
US11907060B2 (en) 2011-09-06 2024-02-20 Pure Storage, Inc. Coding of data streams in a vast storage network
US10235237B2 (en) 2011-09-06 2019-03-19 Intertnational Business Machines Corporation Decoding data streams in a distributed storage network
US8751894B2 (en) * 2011-09-06 2014-06-10 Cleversafe, Inc. Concurrent decoding of data streams
US20190179696A1 (en) 2011-09-06 2019-06-13 International Business Machines Corporation Demultiplexing decoded data streams in a distributed storage network
US8534543B1 (en) * 2012-05-18 2013-09-17 Sri International System and method for authenticating a manufactured product with a mobile device
US8534544B1 (en) * 2012-05-18 2013-09-17 Sri International System and method for authenticating a manufactured product with a mobile device
US20150356803A1 (en) * 2014-06-04 2015-12-10 David Jarrett Collins Item authentication
RU2015139057A (ru) 2015-09-14 2017-03-17 ИЭмСи КОРПОРЕЙШН Способ и система распределенного хранения данных
US9483718B1 (en) * 2015-12-14 2016-11-01 International Business Machines Corporation Encoding and decoding data in two-dimensional symbology
US10061697B2 (en) 2015-12-16 2018-08-28 EMC IP Holding Company LLC Garbage collection scope detection for distributed storage
US10133770B2 (en) 2015-12-16 2018-11-20 EMC IP Holding Company LLC Copying garbage collector for B+ trees under multi-version concurrency control
US10146600B2 (en) 2015-12-16 2018-12-04 EMC IP Holding Company LLC Mutable data objects content verification tool
US10067696B2 (en) 2015-12-18 2018-09-04 Emc Corporation Capacity exhaustion prevention for distributed storage
US10379780B2 (en) 2015-12-21 2019-08-13 EMC IP Holding Company LLC Statistics management for scale-out storage
US10291265B2 (en) 2015-12-25 2019-05-14 EMC IP Holding Company LLC Accelerated Galois field coding for storage systems
US10152248B2 (en) 2015-12-25 2018-12-11 EMC IP Holding Company LLC Erasure coding for elastic cloud storage
US10110258B2 (en) 2016-03-30 2018-10-23 EMC IP Holding Company LLC Accelerated erasure coding for storage systems
US10248326B2 (en) 2016-06-29 2019-04-02 EMC IP Holding Company LLC Incremental erasure coding for storage systems
US10152376B2 (en) * 2016-06-29 2018-12-11 EMC IP Holding Company LLC Data object recovery for storage systems
US10795872B2 (en) 2016-06-29 2020-10-06 EMC IP Holding Company LLC Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
WO2018090192A1 (fr) * 2016-11-15 2018-05-24 深圳大学 Procédé et appareil de chiffrement et de déchiffrement d'image basés sur une technique de chiffrement et de déchiffrement optique
US10831742B2 (en) 2016-12-09 2020-11-10 EMC IP Holding Company LLC Data set verification
US10564883B2 (en) 2016-12-13 2020-02-18 EMC IP Holding Company LLC Efficient migration to distributed storage
US10776322B2 (en) 2016-12-13 2020-09-15 EMC IP Holding Company LLC Transformation processing for objects between storage systems
US10453221B2 (en) 2017-04-10 2019-10-22 Intel Corporation Region based processing
EP3687319B1 (fr) * 2017-12-29 2020-12-02 JT International SA Inhalateur avec reconnaissance optique et son consommable
US10783022B2 (en) 2018-08-03 2020-09-22 EMC IP Holding Company LLC Immediate replication for dedicated data blocks
CN110275132B (zh) * 2019-06-18 2023-03-28 西京学院 一种基于二维码映射的室内定位方法
CN112884105B (zh) * 2021-03-25 2022-07-05 南通大学 一种基于移位加密的商品防伪二维码生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0572989A2 (fr) * 1992-06-01 1993-12-08 Symbol Technologies, Inc. Enregistrement avec données codées
US6606396B1 (en) * 1999-06-18 2003-08-12 Denso Corporation Method and apparatus for detecting forgery

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452379A (en) * 1991-09-13 1995-09-19 Meadowbrook Industries, Ltd. Image capture and storage techniques in association with optical mark reading
US5717195A (en) * 1996-03-05 1998-02-10 Metanetics Corporation Imaging based slot dataform reader
KR100414524B1 (ko) * 2002-10-31 2004-01-16 주식회사 아이콘랩 복호 특성이 우수하며 단계별 에러레벨조정이 가능한2차원 코드 및 그 코드의 인코딩 디코딩 방법
CN100481117C (zh) * 2004-03-15 2009-04-22 武汉矽感科技有限公司 一种二维条码编解码方法
JP2007279786A (ja) * 2006-04-03 2007-10-25 Fuji Xerox Co Ltd 情報端末装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0572989A2 (fr) * 1992-06-01 1993-12-08 Symbol Technologies, Inc. Enregistrement avec données codées
US6606396B1 (en) * 1999-06-18 2003-08-12 Denso Corporation Method and apparatus for detecting forgery

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114254719A (zh) * 2021-12-17 2022-03-29 广州市宝绅科技应用有限公司 一种新型防伪二维码的生成方法及装置

Also Published As

Publication number Publication date
EP2084648A1 (fr) 2009-08-05
FR2908203A1 (fr) 2008-05-09
FR2908203B1 (fr) 2009-04-24
US20110053639A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
EP2084648A1 (fr) Procédés et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel
US10373033B2 (en) Two dimensional barcode and method of authentication of such barcode
EP2036002B1 (fr) Procede et dispositif de securisation de documents
EP2054836B1 (fr) Procedes et dispositifs de securisation et d'authentification de documents
US9406010B2 (en) Producing, capturing and using visual identification tags for moving objects
EP2150923B1 (fr) Procède et dispositif de sécurisation de documents
CN101167084B (zh) 使用了点图案的信息输入输出方法
CN109190736B (zh) 防伪二维码及其生成方法和生成应用系统
EP2294558B1 (fr) Procédé et dispositif d'identification d'une plaque d'impression d'un document
EP2596479B1 (fr) Procédés et dispositifs de marquage et d'authentification d'un produit par un consommateur
CN110766594A (zh) 信息隐藏方法及装置、检测方法、装置及防伪溯源方法
CN113313225B (zh) 基于稀疏点阵码的防伪方法
WO2014060700A1 (fr) Procédés, dispositifs et document d'identification d'une personne ou d'un animal
EP3686761B1 (fr) Élément de marquage sécurisé et procédés d'encodage et d'authentification dudit élément de marquage
EP3210166A1 (fr) Procede de comparaison d'images numeriques
Weng et al. Design and implementation of barcode management information system
CN109299770B (zh) 防伪二维码及其激光全息图加密方法和生产应用系统
CN109272090B (zh) 防伪二维码及其光学调制加密方法和生产应用系统
FR2910158A1 (fr) Procede de lecture de codes visuels
FR2957705A1 (fr) Procede et dispositif de securisation de carte a microcircuit et carte le comportant

Legal Events

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

Ref document number: 07866479

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2007866479

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE