WO2021123483A1 - Método, dispositivo y sistema para el almacenamiento, la codificación y la decodificación de información basada en códigos con capacidad de detección de errores - Google Patents

Método, dispositivo y sistema para el almacenamiento, la codificación y la decodificación de información basada en códigos con capacidad de detección de errores Download PDF

Info

Publication number
WO2021123483A1
WO2021123483A1 PCT/ES2020/070800 ES2020070800W WO2021123483A1 WO 2021123483 A1 WO2021123483 A1 WO 2021123483A1 ES 2020070800 W ES2020070800 W ES 2020070800W WO 2021123483 A1 WO2021123483 A1 WO 2021123483A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical layer
information
code
errors
message
Prior art date
Application number
PCT/ES2020/070800
Other languages
English (en)
French (fr)
Inventor
Alfonso Salinas Castillo
Diego Pedro MORALES SANTOS
María Encarnación CASTILLO MORALES
Antonio GARCÍA RÍOS
Luis Fermín CAPITÁN VALLVEY
Inmaculada ORTIZ GÓMEZ
Antonio MARÍN SÁNCHEZ
José Antonio ÁLVAREZ BERMEJO
Juan Antonio LÓPEZ RAMOS
Francisco R. Manzano Agugliaro
José Antonio GARRIDO CÁRDENAS
Juan Luis LÓPEZ DELGADO
Original Assignee
Universidad De Almería
Universidad De Granada
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 Universidad De Almería, Universidad De Granada filed Critical Universidad De Almería
Priority to US17/786,286 priority Critical patent/US20230142587A1/en
Priority to EP20902320.9A priority patent/EP4080411A4/en
Publication of WO2021123483A1 publication Critical patent/WO2021123483A1/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/08Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/0615Constructional details the marking being of the rewritable type, e.g. thermo-chromic barcodes
    • 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
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction

Definitions

  • the present invention is encompassed in the technical field corresponding to information encoding and decoding technologies and, in particular, in the field of message transmission. More specifically, the invention relates to an information storage device based on codes with error correction capacity, in which the information stored in them can vary dynamically, depending on different physical / chemical parameters.
  • the invention has application in all those sectors that need to encode information, which can vary dynamically (after encoding) to generate variations on the original message that can be identified as information, regardless of the conditions in which the message is transmitted.
  • information in the form of data acquired by sensors must be processed by information encoding and decoding systems, where a plurality of devices are responsible for reading said encoding of information. automatically.
  • visual codes for example, barcodes or QR codes, or "Quick Response"
  • the information is encoded with visual patterns that typically make up a matrix code.
  • the Visual information stored in said matrix code is captured by a camera and subsequently stored on a digital storage medium, where said information corresponds to the reading of the visual information.
  • the human being does not intervene, it must be guaranteed that the information that is encoded is consistent with the information that is decoded, without generating loss or distortion of information.
  • the decoding process is altered (for example, if the message has been corrupted), then the information that is decoded will not be true or correct.
  • the decoding processes are also capable of correcting the errors detected, restoring the information to a recognizable state.
  • a word without meaning in a certain text character recognition process can be "translated" into a word with meaning, close to the received word.
  • visual information correction systems are fundamentally based on the concept of "distance" between the information processed with errors and the corresponding information without errors.
  • distance between the information processed with errors and the corresponding information without errors.
  • different intervention protocols on the information analyzed by the system, such as detecting the errors produced (for example, when the distance is greater or equal to than a pre-established threshold value), or correct the aforementioned errors (for example, correcting the errors identified if the minimum distance is less than said threshold).
  • the present invention is based mainly on the use of information associated with errors caused dynamically on a code, considering these errors as useful information, so that the capabilities of detection and / or correction of said errors in a code to extend the valid words of the same, to encode additional information. That is, the invention essentially proposes a method and a system to encode information, incorporate it into a visual code, and decode it where, instead of using error detection and correction to restore the message to its original state, it is used, in the first instance, to extend the set of valid words and thus be able to extend the interpretation of the message based on the errors that have deliberately damaged it. In this way, increased information is generated in said message, thus increasing the capabilities and functionalities of the code used.
  • the present invention refers, in a first aspect thereof, to a device for storing encoded visual information with error detection capacity, which comprises at least two physical layers, one of which is permanent or invariant (for example, printed through an unalterable medium (in particular, indelible), such as permanent ink) and contains a visual code capable of correcting errors, and at least one layer that is variable, depending on certain conditions physical or chemical, and that is superimposed on the permanent layer.
  • a device for storing encoded visual information with error detection capacity, which comprises at least two physical layers, one of which is permanent or invariant (for example, printed through an unalterable medium (in particular, indelible), such as permanent ink) and contains a visual code capable of correcting errors, and at least one layer that is variable, depending on certain conditions physical or chemical, and that is superimposed on the permanent layer.
  • the static layer of the device can comprise any type of visual coding permanently inscribed on a medium, such as printed text or QR codes, datamatrix or bidi, among others, so that the device is capable to store information (which may or may not be encrypted) both in the static layer and through the interpretation of the errors generated on the static layer by the dynamic layer or layers.
  • the present invention relates to a method for manufacturing said device, and in particular to a method for creating the dynamic layers that are superimposed on the permanent or invariant layers.
  • a third aspect of the invention additionally relates to a method of reading or decoding the information contained in the encoded visual information storage device corresponding to the first aspect of the invention.
  • Said decoding procedure can be applied as a rapid information reading / decoding system that is also independent of light conditions, reading position, etc. capable of revealing the information that may dynamically appear on the device of the first aspect of the invention.
  • the invention relates to computer programs that implement either the dynamic layer creation procedure or the decoding procedure of the second aspect of the invention.
  • a fifth aspect refers to the system that is capable of carrying out the decoding process of the second aspect of the invention.
  • the encoding and decoding procedures of the invention represent an improvement over the systems and methods of the state of the art, by using the errors present in a visual code as useful information that it can also be generated and encoded, for later decoding.
  • the invention therefore provides, among others, the following improvements: a) It allows expanding the capacity to store information in a device equivalent in size and aspect to a visual code.
  • Known visual code decoding procedures only allow the extraction of static or invariant information (under very rigid and sometimes unreliable reading conditions) about the color of the sensors.
  • the decoding procedure allows the error to be interpreted as a measure of the variation in the reading due to light conditions, avoiding having to use external lights.
  • one of the physical layers of the device of the invention can comprise one or more unalterable colored regions as a control, or color reference, for the analysis of the variation in color of another of the physical layers of the device. In this way, the proposed invention makes it possible to guarantee the real reading of the color.
  • C will be called "block code” with parameters (n, M) or C is a "(n, M) -code”. If C is not block, then it is variable length code.
  • code refers to a set C, composed of words of length n, so that from q symbols, it is possible to obtain q n different words. That is, given a C code, M or ⁇ C ⁇ is denoted to the number of words that the code contains, and always M £ q n .
  • the purpose of any code is to allow the emission and reception of messages.
  • messages refers to a set of code words.
  • the received word After emitting a word, the received word will be said to "contain an error" when it differs by at least one symbol from the emitted word.
  • d a distance between two words.
  • a valid metric to measure the distance between two words is the so-called “Hamming distance”.
  • error correction any procedure capable of converting a sequence of symbols that do not form a code word into the closest code word.
  • distance between two words will be understood as any metric that allows measuring the differences between two words.
  • the word closest to a word co will be that word whose distance to Co is less.
  • the "minimum distance" of a code will be the minimum difference between any two words in it.
  • codes that allow error correction are those obtained by the simple parity procedure, by which an additional bit is added to each group of bits (word), which will be 0 or 1 depending on whether the number of 1 content in the word is odd or even.
  • a code "allows the correction of errors” or that "it has the capacity to detect errors” when, when emitting a word (valid) and receiving a different one (invalid) it is possible, with the system of detection and correction, transform the received word in the correct word of the code.
  • a C code allows correction of k errors if any two words ci and C2 that have a Hamming distance less than k coincide.
  • a code allows correction of k errors if and only if the minimum Hamming distance, d m , between any two words in it is at least k + 1 (d m 3 2k + 1) .
  • An example of a code that allows error correction is made up of Reed Solomon codes, commonly used in QR codes.
  • error generation or "error injection” will be used to refer to any procedure by which sequences of symbols that do not form a valid word (or, equivalently, that do not belong to the code) are intentionally added to a message. These symbol sequences do not necessarily have to be equal in length to n.
  • dynamic error generation refers to the technique capable of generating errors, in controlled or predefined positions, under dynamic conditions.
  • error condition shall be understood to mean the interpretation given to an error generated or injected in a certain position, in particular, as a result of the appearance of errors as a result of the changes produced in a dynamic layer. That is, if some type of change occurs in the dynamic layer (for example, when a reactant reacts when it comes into contact with a chemical compound), then information appears that the error correction algorithm would detect, giving rise to a condition of error that causes the decoding procedure of the invention to trigger the reinterpretation of that error.
  • the graphic representation of a message can be defined as a “visual code”. If that message is encoded in a code capable of correcting errors, it will be called “visual code capable of correcting errors.” Examples of visual codes with the ability to correct errors are barcodes, bidi, datamatrix or QR. In the context of the present invention, "visual code”, or where appropriate "visual code with the ability to correct errors", will be understood as an element or device that comprises the graphical representation of a coded message, particularly the printed graphical representation. .
  • Figure 1 shows a block diagram representing the main stages of the coding method of the invention, according to a preferred embodiment thereof.
  • Figure 2 shows a block diagram representing the main stages of the decoding method of the invention, according to a preferred embodiment thereof.
  • Figure 3 shows an example of a preferred embodiment of the invention, where a QR-type code is used that has a part of its code configured with ink that dynamically changes its color, in the presence of a reagent.
  • the QR code also has three regions in its corners colored with non-alterable reference colors, which are previously known when analyzing the color information of the QR. These colors thus serve as "control" colors in order to analyze the color change of the dynamic layer, as a consequence of the reagent present in the ink.
  • the present invention refers to a device for storing encoded visual information with error detection capacity, which comprises at least two superimposed physical layers: a first static, unalterable layer, which comprises the graphic representation of a message encoded in an error-correcting code; one or more dynamic layers, whose graphic representation may vary, generating errors on the message of the first layer.
  • the dynamic layers represent an "extended code", understood as an extension of the information encoded in the static layer, where said extended code can be read by corresponding reading means (preferably, computerized optical recognition means of the information present in those layers).
  • the code word for example, 01001001110
  • the word is reinterpreted with two meanings: on the one hand, 01001001110 will be interpreted (correction of 01001001111 in the code).
  • the device always comprises a static layer and at least one dynamic layer.
  • At least one of the dynamic information layers of the device comprises one or more chemical and / or biochemical components, which can modify their optical properties or opacity depending on the environmental conditions to which they are subjected. and / or the addition of external reagents.
  • the information provided by the dynamic layer can be read and interpreted by the optical recognition means.
  • At least one of the dynamic information layers is formed by enzymes, antibodies or colorimetric substrates, understood as such chemical and / or biochemical components selected for the development of colorimetric sensors on paper, solution or any polymeric support that allows the visualization or reading of the colorimetric change.
  • enzymes antibodies or colorimetric substrates, understood as such chemical and / or biochemical components selected for the development of colorimetric sensors on paper, solution or any polymeric support that allows the visualization or reading of the colorimetric change.
  • any analyte used in "screening" type test strips or the analytes used in immunochromatographic strips, in particular, peptides or polymers are examples of such a support.
  • the information contained in the layers that make up the device can be encrypted, to ensure that it can only be extracted if a corresponding decryption code is available.
  • the present invention refers to a method of manufacturing the device of the invention and its dynamic layers, configured to generate errors on the visual code contained in the static layer, thus expanding the information provided by the device.
  • the procedure for creating dynamic layers of the invention comprises the generation of a graphic representation from what will be called encoding of the "erroneous information", in which an extended code is generated by which the error information is associated with a specific meaning, which allows interpreting the words with errors (defined in the error condition) and the various positions in the visual code where the dynamically altered material should be located.
  • the coding method of the invention comprises the following steps ( Figure 1), which can be carried out as many times as the number of dynamic layers the device contains:
  • Definition of one or more error conditions which will determine the interpretation made of the error based on the position in which it is detected.
  • Generation of the extended code with the coding of the meta-information generated in the previous stage.
  • this stage since the procedure can start from previously created visual codes, the information is converted into valid words for the code.
  • the words generated in this stage will have to be valid for the code and will depend on the visual representation of the coding used: QR codes, Bidi codes, barcodes, etc.
  • this stage typically encodes information related to the specific field to which the invention is applied in a given embodiment (for example, product batch, date, URLs for accessing servers, etc.), and that can be optionally encrypted.
  • position in a visual code is understood a point, or region identified by coordinates (x, y), located in the area in which the visual code is represented, be it a data area or an area of protection against errors.
  • Visual codes with error correction capabilities usually have fixed positions dedicated to synchronization, orientation, etc., so that, in different embodiments of the invention, these positions can optionally be discarded. From the rest of the positions, those that, when modified, introduce errors that can be corrected by the code. These positions are stored and will be the ones that will later contain the media that are altered by physical or chemical conditions.
  • code words printed with sensor ink may experience a color variation with respect to code words marked with non-sensor ink.
  • the code words will be decoded using the Reed Solomon protocol, specifying the distance between the color read and the color with which it was originally printed. This gives the reference distance to be applied at the time of reading (light conditions, camera, etc., optionally, correction factors being applied) and the percentage of variation with respect to the original color is analyzed.
  • the extended code with the coding of the meta-information generated in the previous stage:
  • the information on the errors generated in the previous stage (meta-information) must be associated with the information layer contained in the static layer, specifying how the set of errors detected should be interpreted.
  • the extended code that gives validity to certain information marked as erroneous is constructed during the decoding in the receiver of the message.
  • the process is completed with a stage of physical generation, in particular printing or deposition, of the dynamic layer, which will deposit the alterable media in those previously selected positions.
  • This physical generation will be carried out, preferably, by printing each of the superimposed layers that make up the device, using chemical or biochemical components.
  • the error condition is created by adding a dynamic layer on top of the static layer so that, with sensor ink, areas whose coloration changes with time are printed (for example , in the presence of a bacterium, gas, chemical agent, etc.), so that new information appears about the information encoded in the visual code of the static layer that, therefore, acquires a new meaning when interpreted as a condition of error.
  • the present invention also refers to a procedure for decoding the information contained in the device of the invention, which comprises the identification of words marked with error and their correction, first using a code word and then a word of the extended code. More specifically, said procedure comprises the following steps:
  • the decoding procedure is based fundamentally on the analysis of the message when it is read, as well as on the extraction of the words that encode it (see Figure 2). If the words are not marked with errors, then the word is considered valid and therefore its interpretation or meaning will be unique. If, on the other hand, the word goes marked with error, then it is possible to correct it (in case the code allows the correction of errors) and replace it with a code word that is valid and from which it separates less (this analysis can be based, for example, on the Hamming distance). Additionally, and in accordance with the method proposed by the invention, during the encoding phase a meta-information layer is created associated with a dynamic layer that will generate errors in the encoded information, and that allows these errors to be interpreted and each word validated. During the decoding process, instead of ignoring errors and correcting the wrong word (s), they will be considered valid within the subcode.
  • the algorithm used for error correction is a Reed-Solomon type algorithm.
  • the decoding procedure also includes decrypting that information.
  • a fourth object of the invention relates to a computer program comprising instructions for carrying out the dynamic layer creation method of the invention and / or the decoding method of the invention.
  • said object can be made in the form of source code, object code or in an intermediate code between source code and object code, such as in partially compiled form, or in any other suitable form to be used in the implementation of the processes according to the invention.
  • computer programs also encompass cloud applications that implement the dynamic layer creation method of the invention and / or the decoding method of the invention.
  • Said programs can be arranged on or within a support suitable for reading, referred to as "carrier medium” or simply "carrier".
  • the carrier medium can be any entity or device capable of carrying the program.
  • the carrier medium can be constituted by said cable or other device or medium.
  • the carrier medium could be an integrated circuit in which the program is included, the integrated circuit being adapted to execute, or to be used in the execution of, the corresponding processes.
  • the programs can be embedded in a storage medium, such as a ROM memory, a CD ROM memory or a semiconductor ROM memory, a USB memory, or a magnetic recording medium, for example, a floppy disk or a hard drive.
  • a storage medium such as a ROM memory, a CD ROM memory or a semiconductor ROM memory, a USB memory, or a magnetic recording medium, for example, a floppy disk or a hard drive.
  • the programs could be supported on a transmittable carrier signal.
  • it could be an electrical or optical signal that could be transported through electrical or optical cable, by radio or by any other means.
  • a fifth aspect of the present invention refers to a system for reading encoded visual information with error detection capacity, which allows decoding the information contained in the devices of the invention, in particular the devices created by superimposing, on a visual code with error correction capacity, one or more dynamic layers created with the dynamic layer creation method of the invention, and comprising the necessary means to carry out the decoding method of the invention.
  • system of the invention preferably comprises:
  • Information processing means capable of executing instructions configured to carry out the decoding procedure of the invention.
  • At least one external server and communication means configured to connect the system to said external server, and allow the exchange of information between both.
  • Examples of means to capture images can vary between a digital camera, CCD sensors or infrared code readers.
  • the code reading system of the invention comprises a CCD sensor.
  • any processor capable of executing the program instructions that implements the decoding method of the invention can be used.
  • the system can perform decoding processing without having to exchange information with any other external computational elements (such as data servers).
  • the system may also comprise one or more servers and means of communication between them. Examples of said means of communication are communication devices through WIFI or Bluetooth, or USB connections, among others.
  • the system comprises a communications antenna that allows access to other computing environments (networks), through commercial or research protocols for the exchange of data in communication networks, including the Internet.
  • the system further comprises data output means where information can be displayed, such as for example one is a screen.
  • Another object of the invention relates to computer-readable storage media, comprising program instructions capable of causing a computer to carry out the dynamic layer creation procedure of the invention and / or the decoding procedure of the invention. .
  • a last object of the invention relates to transmissible signals comprising program instructions capable of causing a computer to carry out the dynamic layer creation procedure of the invention and / or the decoding procedure of the invention.
  • Another direct application of the invention is to be able to have a control means for devices that use cameras to read information associated with color.
  • This application allows correcting the deviations, in the color reading, that are produced by the lighting conditions, as a consequence of the substrate of the inks used, the paper, the manufacturing process of the camera, by the compression algorithms of the captured image through the camera, etc.
  • the invention makes it possible, thanks to the interpretation of the error information in reading, to correct said color information in the form of meta information.
  • a color validation procedure using one or more reference colors.
  • a QR code equipped with one or more regions colored with said reference colors, preferably non-alterable.
  • the QR will have another part of its code configured with ink that will change its color dynamically, in the presence of a reagent (following the general embodiment of the invention).
  • the reference colors can be previously known when analyzing the color information of the QR, thus serving as "control" colors in order to analyze their color change as a consequence of the reagent present in the ink.
  • Figure 3 of this document shows, for illustrative purposes, the analysis of a QR code configured with a pattern of three reference colors in its corners: OxOOOOFF (blue), OxOOFFOO (green) and OxFFOOOO (orange).
  • the color information of the corners is perceived as 0x00113F (blue), 0x003510 (green) and 0xF23001 (orange).
  • the mobile device is configured with the reference information of these colors, it will be able to calculate the deviations in the color reading produced by the lighting conditions, the parameters of the camera itself, etc., and which are not due, strictly, to the dynamic alteration of the colors of its sensitive layer. Thanks to the reference colors, a software application in charge of analyzing the information will be able to interpret the rest of the QR message, using the information from the corners and the differences obtained in their reading as a color calibration of the camera. Consequently, said calibration will allow the change in color of the central region of the QR to be determined with greater precision (for example, applying the variation obtained with a Reed Solomon algorithm).
  • Another application of the invention is its use to obtain useful information for medical diagnosis and, more specifically, its use in the development of disease diagnosis kits or disease markers that allow information to be obtained in situ and in real time.
  • disease diagnosis kits or disease markers that allow information to be obtained in situ and in real time.
  • systems on the market for example immunochromatographic test strips, "lab-on-chip” type devices, etc., which can benefit from a device according to the invention.
  • the invention can be used in a container that incorporates at least one coding device, characterized in that at least one of the dynamic layers of the code is composed of a chemical or biochemical compound that can alter its optical properties or opacity. , depending on the physical or chemical conditions that occur inside and / or outside the container.
  • a container according to the invention can consist of a transparent film, for packaging under vacuum or in a controlled atmosphere, which has a code of the invention printed on its inside, and in which said visual code contains a first layer of static information with data related to the packaged product (date of packaging, type of product, etc.), and a second dynamic layer composed of a chemical compound that reacts in the presence of oxygen, and that it reaches opacity when the oxygen level inside the bag exceeds a certain threshold.
  • the devices of the invention can improve the application of the pregnancy test based on the presence of the hormone called human chorionic gonadotropin (hCG, for its acronym in English).
  • hCG human chorionic gonadotropin
  • a QR code printed on a test strip is used, in it with some bits biochemically modified with the monoclonal and polyclonal antibodies against hCG, together with the colorimetric indicator and produced by a "sandwich" type test, a test of agglutination inhibition or a lateral flow immunoassay. If the immune reaction occurs, the test will be positive and there will be a color code to inform the person about the result.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

Se describe un dispositivo compuesto por al menos dos capas, una de las cuales es invariante y contiene un código visual con capacidad de corregir errores, y al menos una capa que es variable en función de determinadas condiciones físicas o químicas. La invención también se refiere a un procedimiento para la creación de estos dispositivos y la codificación de los mensajes comprendidos en los mismo, a un procedimiento de lectura o decodificación de la información contenida en los dispositivos, y a un sistema que es capaz de llevar a cabo el proceso de análisis y decodificación de la información contenida en los mensajes del dispositivo.

Description

DESCRIPCIÓN
MÉTODO, DISPOSITIVO Y SISTEMA PARA EL ALMACENAMIENTO, LA CODIFICACIÓN Y LA DECODIFICACIÓN DE INFORMACIÓN BASADA EN CÓDIGOS CON CAPACIDAD DE DETECCIÓN DE ERRORES
CAMPO DE LA INVENCIÓN
La presente invención se engloba en el campo técnico correspondiente a las tecnologías de codificación y decodificación de información y, en particular, del campo de la transmisión de mensajes. Más concretamente, la invención se refiere a un dispositivo de almacenamiento de información basado en códigos con capacidad de corrección de errores, en el que la información almacenada en los mismos puede variar dinámicamente, en función de diferentes parámetros físico/químicos.
La invención tiene aplicación en todos aquellos sectores que precisen codificar información, que pueda variar dinámicamente (tras su codificación) para generar variaciones sobre el mensaje original que puedan ser identificadas como información, con independencia de las condiciones en las que transmita el mensaje.
ANTECEDENTES DE LA INVENCIÓN
En los últimos años, la amplia adopción de las tecnologías de comunicación por parte de la sociedad ha generado un importante avance en las comunicaciones móviles y basadas en sensores. Más concretamente, dentro de las tecnologías de sensores es habitual el uso de cámaras para la obtención de información en forma de imágenes y/o vídeo, así como de sistemas de visión o análisis computerizado de dicha información, proporcionados bajo diferentes tecnologías de procesamiento de información visuales (en forma, por ejemplo, de códigos matriciales, códigos 2D, texto, análisis de fotografía/vídeo, etc.), y que también experimenta actualmente un alto grado de integración en la sociedad.
Dentro de las tecnologías de análisis visual, la información en forma de datos adquiridos por los sensores (por ejemplo, cámaras) ha de ser procesada por sistemas de codificación y decodificación de la información, donde una pluralidad de dispositivos se encargan de leer dicha codificación de forma automática. En el caso concreto de los códigos visuales (por ejemplo, los códigos de barras o los códigos QR, o “Quick Response”), la información se codifica con patrones visuales que conforman típicamente un código matricial. La información visual almacenada en dicho código matricial es capturada por una cámara y, posteriormente, almacenada en un medio de almacenamiento digital, donde dicha información se corresponde con la lectura de la información visual. En esta situación, donde el ser humano no interviene, se debe garantizar que la información que se codifica sea coherente con la información que se decodifica, sin generarse pérdidas o distorsión de información. En este contexto, si el proceso de decodificación se ve alterado (por ejemplo, si el mensaje ha sido corrompido), entonces la información que se decodifica no será fiel ni correcta.
Existen, asimismo, numerosas líneas de investigación extensamente dedicadas a la detección y corrección de errores para preservar la integridad de la información decodificada, y que han proporcionado en los últimos años diversas soluciones técnicas para asegurar la calidad de la información procesada, incluso cuando se producen errores en la información visual (por ejemplo, correcciones de texto o correcciones de imágenes captadas por las cámaras). Así, en dichas tecnologías, los procesos de decodificación son capaces también de corregir los errores detectados, restableciendo la información a un estado reconocible. Como ejemplo, una palabra sin significado en un determinado proceso de reconocimiento de caracteres de texto puede ser “traducida” a una palabra con significado, cercana a la palabra recibida.
En general, los sistemas de corrección de información visual se basan, fundamentalmente, en el concepto de “distancia” entre la información procesada con errores y la información correspondiente sin errores. Así, sobre un código procesado se puede, mediante el citado uso de distancias entre secuencias de información, establecer diferentes protocolos de intervención sobre la información analizada por el sistema, tales como detectar los errores producidos (por ejemplo, cuando la distancia es mayor o igual que un valor umbral preestablecido), o corregir los citados errores (por ejemplo, corrigiendo los errores identificados si la distancia mínima es menor que dicho umbral).
En general, la probabilidad de que se produzcan muchos errores en una secuencia (o “palabra”) de información dada en un código es mucho menor que la probabilidad de que se produzcan pocos errores en la misma palabra. Este hecho se utiliza, generalmente, como argumento para usar la detección y/o corrección de errores (por ejemplo, algoritmos de tipo Reed Solomon en el caso de los códigos QR) para codificar nueva información, en lugar de para corregir los potenciales errores detectados. En este tipo de procesos, cabe señalar algunos documentos principalmente relacionados con uso de códigos de matriz en sistemas de detección y/o corrección de errores, tales como las solicitudes de patente ES 2257480 T3, US 7373581 B2, US 20120188442 A1, US 6685095 B2 o ES 2355423 T3.
Si bien las citadas tecnologías de corrección de errores de información visual están, en general, orientadas a la sustitución de dichos errores por una codificación con significado, no son conocidas, en el presente campo técnico, alternativas técnicas que proporcionen información aumentada aprovechando la presencia de dichos errores en la información procesada. En este sentido, resulta deseable encontrar nuevos métodos de codificación que permitan generar mensajes mejorados respecto a las alternativas conocidas, basados en la generación de errores de forma controlada e interpretable sobre la información visual codificada. La presente invención proporciona una solución a esta necesidad, mediante un novedoso método de codificación de información visual, así como de un sistema que implementa dicho método.
DESCRIPCIÓN BREVE DE LA INVENCIÓN
Tal y como se ha descrito en el apartado precedente, la presente invención se basa, principalmente, en el aprovechamiento de la información asociada a los errores provocados dinámicamente sobre un código, considerándose dichos errores como información útil, de forma que se aprovechan las capacidades de detección y/o de corrección de dichos errores en un código para extender las palabras válidas del mismo, para codificar información adicional. Es decir, la invención propone, esencialmente, un método y un sistema para codificar información, incorporarla sobre un código visual, y decodificarla donde, en lugar de usar la detección y corrección de errores para restaurar el mensaje a su estado original, se emplea, en primera instancia, para extender el conjunto de palabras válidas y así poder extender la interpretación del mensaje en función de los errores que, deliberadamente, lo hayan dañado. De este modo, se genera información aumentada en dicho mensaje, aumentando así las capacidades y funcionalidades del código utilizado.
En este contexto, la presente invención se refiere, en un primer aspecto de la misma, a un dispositivo para el almacenamiento de información visual codificada con capacidad de detección de errores, que comprende al menos dos capas físicas, una de las cuales es permanente o invariante (por ejemplo, impresa a través de un medio inalterable (en particular, indeleble), como por ejemplo tinta permanente) y contiene un código visual con capacidad de corregir errores, y al menos una capa que es variable, en función de determinadas condiciones físicas o químicas, y que se superpone sobre la capa permanente. De este modo, el dispositivo proporciona información aumentada proveniente de la decodificación de la información comprendida en las dos capas, y que se encuentra codificada de forma cooperante.
En una realización preferente de la invención, la capa estática del dispositivo puede comprender cualquier tipo de codificación visual inscrita sobre un medio de forma permanente, tal como texto impreso o códigos QR, datamatrix o bidi, entre otros, de forma que el dispositivo es capaz de almacenar información (que puede ir cifrada o no) tanto en la capa estática como a través de la interpretación de los errores generados sobre la capa estática por la capa o las capas dinámicas.
Asimismo, en un segundo aspecto, la presente invención se refiere a un procedimiento para la fabricación del citado dispositivo, y en particular a un procedimiento de creación de las capas dinámicas que se superponen a las capas permanentes o invariantes.
Un tercer aspecto de la invención se refiere, adicionalmente, a un procedimiento de lectura o decodificación de la información contenida en el dispositivo de almacenamiento de información visual codificada correspondiente al primer aspecto de la invención. Dicho procedimiento de decodificación se puede aplicar como sistema de lectura/decodificación rápida de información que, además, resulta independiente de las condiciones lumínicas, posición de la lectura, etc. capaz de revelar la información que pueda aparecer dinámicamente en el dispositivo del primer aspecto de la invención.
En un cuarto aspecto, la invención se refiere a programas de ordenador que implementan bien el procedimiento de creación de capas dinámicas, bien el procedimiento de decodificación del segundo aspecto de la invención.
Un quinto aspecto se refiere al sistema que es capaz de llevar a cabo el procedimiento de decodificación del segundo aspecto de la invención.
Los aspectos anteriores de la invención se resumen, más concretamente, en el conjunto de reivindicaciones que acompañan al presente documento.
Los procedimientos de codificación y decodificación de la invención, así como el dispositivo y sistema que los llevan a cabo, suponen una mejora respecto a los sistemas y métodos del estado de la técnica, al utilizar los errores presentes en un código visual como información útil que puede también generarse y codificarse, para su posterior decodificación. En la práctica, la invención proporciona, por tanto, entre otras las siguientes mejoras: a) Permite ampliar la capacidad de almacenar información en un dispositivo equivalente en tamaño y aspecto a un código visual. Los procedimientos de decodificación de códigos visuales conocidos sólo permiten extraer la información estática o invariante (en condiciones de lectura muy rígidas y, a veces, poco fiables) sobre el color de los sensores. En el caso de la presente invención, resulta posible almacenar información adicional en las capas dinámicas que se superponen sobre la capa con información estática o invariante. b) La capacidad de determinar la presencia o no de un componente de tinta que responde a la presencia de un elemento químico o biológico se puede realizar mucho más rápido en el método de la presente invención, pudiendo evitar aplicar un análisis de imagen adicional, para localizar las áreas que contienen color o no. c) Codificando el color, en una realización preferente de la invención, el procedimiento de decodificación permite interpretar el error como medida de la variación en la lectura debido a las condiciones luminosas evitando tener que usar luces externas. Para ello, una de las capas físicas del dispositivo de la invención puede comprender una o más regiones coloreadas de forma inalterable a modo de control, o referencia de color, para el análisis de la variación del color de otra de las capas físicas del dispositivo. De este modo, la invención que se propone permite garantizar la lectura real del color. d) Puede evitar la necesidad de añadir marcadores especiales en los sensores para orientar la lectura aprovechando la orientación que proporcionan algunos códigos visuales, como por ejemplo los códigos QR.
A lo largo de la presente descripción, se proporciona una serie de términos que, bajo el ámbito de la invención, se interpretarán de la forma siguiente:
Se entiende por “alfabeto” a un conjunto finito de símbolos L = (a1; ..., aq) donde el número q se denomina “raíz de L”.
Una “palabra”, de longitud n, se entiende como una yuxtaposición de n símbolos: a = a^a^ ... ain, aik e L . Se denomina Jln al conjunto de todas las cadenas de longitud n (o “n-cadenas”) y por A* al conjunto de todas las palabras que pueden formarse con los símbolos del alfabeto A, es decir A* = uneN An.
Dado un alfabeto A con raíz q, se denomina un “código q-ario” sobre A como un subconjunto, C, de A* (Ce A*). Los elementos de C se llaman palabras-código (del inglés, “codewords” o “datawords”) o simplemente “palabras”. El “tamaño”, M, del código indica el número de elementos que contiene, M = \C\.
Si todas las palabras del código tienen longitud fija n, C se denominará “código de bloque” con parámetros (n,M) o que C es un “(n,M)-código”. Si C no es de bloque, entonces es un código de longitud variable.
En la presente invención, el término “código” se refiere a un conjunto C, compuesto por palabras de longitud n, de forma que a partir de q símbolos, es posible obtener qn palabras diferentes. Es decir, dado un código C, se denota M o \C\ a la cantidad de palabras que contiene el código, y siempre M £ qn.
A la hora de establecer una comunicación entre un emisor y un receptor, la finalidad de cualquier código es permitir la emisión y recepción de mensajes. En el contexto de la invención, el término “mensaje” se refiere a un conjunto de palabras de un código.
Tras emitir una palabra, se dirá que la palabra recibida “contiene un error” cuando difiere en, al menos, un símbolo de la palabra emitida. Así, si dos palabras de código difieren en una distancia d, se necesitan d errores para convertir una en la otra. Una métrica válida para medir la distancia entre dos palabras es la denominada “distancia de Hamming”.
Por “corrección de errores” de entiende cualquier procedimiento capaz de convertir una secuencia de símbolos que no forman una palabra de código en la palabra de código más cercana. En ese sentido, se entenderá como “distancia” entre dos palabras a cualquier métrica que permita medir las diferencias entre dos palabras. Así, la palabra más cercana a una palabra co, será aquella palabra cuya distancia a Co sea menor.
La “distancia mínima” de un código será la diferencia mínima entre dos palabras cualesquiera del mismo.
El ejemplo más conocido de códigos que permiten la corrección de errores son los obtenidos por el procedimiento de paridad simple, por el que se añade un bit adicional a cada grupo de bits (palabra), que será 0 o 1 en función si el número de 1 contenidos en la palabra es par o impar. En ese sentido, se dirá que un código “permite la corrección de errores” o que "tiene capacidad de detección de errores” cuando, al emitir una palabra (válida) y recibir otra diferente (no válida) es posible, con el sistema de detección y corrección, transformar la palabra recibida en la palabra correcta del código. A modo de ejemplo, un código C permite corregir k errores si cualesquiera dos palabras ci y C2 que tienen una distancia de Hamming menor que k coinciden. Dicho de otro modo, en ese caso, un código permite corregir k errores si y solo si la distancia de Hamming mínima, dm, entre cualesquiera dos palabras en él es, al menos, k+1 (dm³ 2k+1). Un ejemplo de código que permite la corrección de errores está formado por los códigos Reed Solomon, empleados habitualmente en códigos QR.
Los conceptos “generación de errores” o “inyección de errores” se emplearán para referirse a cualquier procedimiento mediante el que se añaden, intencionadamente, secuencias de símbolos que no forman una palabra válida (o, equivalentemente, que no pertenecen al código) de un mensaje. Estas secuencias de símbolos no tienen que tener necesariamente longitud igual a n.
En particular, el concepto “generación dinámica de errores” se refiere a la técnica capaz de generar errores, en posiciones controladas o predefinidas, ante condiciones dinámicas.
Se entenderá por “condición de error” a la interpretación que se le da a un error generado o inyectado en una posición determinada, en particular, como resultado de la aparición de errores a consecuencia de los cambios producidos en una capa dinámica. Es decir, si en la capa dinámica se produce algún tipo de cambio (por ejemplo, al reaccionar un reactivo al entrar en contacto con un compuesto químico), entonces aparece información que detectaría el algoritmo de corrección de errores, dando pie a una condición de error que hace que el procedimiento de decodificación de la invención active la reinterpretación de ese error.
La representación gráfica de un mensaje se puede definir como un “código visual”. Si ese mensaje está codificado en un código con capacidad de corregir errores, se denominará “código visual con capacidad de corregir errores”. Ejemplos de códigos visuales con capacidad de corregir errores son los códigos de barras, bidi, datamatrix o QR. En el contexto de la presente invención, se entenderá por “código visual”, o en su caso “código visual con capacidad de corregir errores”, a un elemento o dispositivo que comprende la representación gráfica de un mensaje codificado, particularmente la representación gráfica impresa.
DESCRIPCIÓN DE LOS DIBUJOS A continuación se presenta una descripción breve de cada una de las figuras usadas para completar la descripción de la invención que sigue. Dichas figuras se relacionan expresamente con realizaciones preferentes de la invención, que se presentan como ejemplos no limitativos de la misma.
La Figura 1 muestra un diagrama de bloques representando las etapas principales del método de codificación de la invención, según una realización preferente de la misma.
La Figura 2 muestra un diagrama de bloques representando las etapas principales del método de decodificación de la invención, según una realización preferente de la misma.
La Figura 3 muestra un ejemplo de realización preferente de la invención, donde se utiliza un código de tipo QR que posee una parte de su código configurada con tinta que cambia dinámicamente su color, ante la presencia de un reactivo. El código QR posee, además, tres regiones en sus esquinas coloreadas con colores de referencia no alterables, que son previamente conocidos al analizar la información de color del QR. Estos colores sirven, así, como colores “control” a efectos de analizar el cambio de color de la capa dinámica, como consecuencia del reactivo presente en la tinta.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
En un primer aspecto, la presente invención se refiere a un dispositivo para el almacenamiento de información visual codificada con capacidad de detección de errores, que comprende al menos dos capas físicas superpuestas: una primera capa estática, inalterable, que comprende la representación gráfica de un mensaje codificado en un código con capacidad de corrección de errores; una o más capas dinámicas, cuya representación gráfica puede variar, generando errores sobre el mensaje de la primera capa.
En este contexto, las capas dinámicas representan un “código extendido”, entendiendo como tal a una extensión de la información codificada en la capa estática, donde dicho código extendido puede ser leído por medios de lectura correspondientes (preferentemente, medios de reconocimiento óptico computerizado de la información presente en dichas capas). Así, si el error inducido por un cambio en la capa dinámica hace que la palabra del código (por ejemplo, 01001001110) pase a ser una palabra que no está en el código (por ejemplo, 01001001111), al detectarse el error, la palabra se reinterpreta con dos significados: por un lado, se interpretará 01001001110 (corrección de 01001001111 en el código). Y, por otro lado, si 01001001111 pertenece al código extendido, se interpretará como la palabra del código extendido, o, en caso contrario como la palabra del código extendido que corrige (la más cercana) a 01001001111. Esta extensión se hace efectiva durante el procedimiento de decodificación, que reconoce esta información adicional a la que le da interpretación, ampliando por tanto la información que estaba codificada en la capa estática. Así, en una realización preferente de la invención, el dispositivo comprende siempre una capa estática y, al menos, una capa dinámica.
En una realización preferente de la invención, al menos una de las capas de información dinámica del dispositivo comprende uno o más componentes químicos y/o bioquímicos, que pueden modificar sus propiedades ópticas u opacidad en función de las condiciones ambientales a las que se vean sometidos y/o a la adición de reactivos externos. De ese modo, la información proporcionada por la capa dinámica podrá leerse e interpretarse por parte de los medios de reconocimiento óptico.
En una realización más preferente de la invención, al menos una de las capas de información dinámica está formada por enzimas, anticuerpos o por sustratos colorimétricos, entendiendo como tales componentes químicos y/o bioquímicos seleccionados para el desarrollo de sensores colorimétricos en papel, disolución o cualquier soporte polimérico que permita la visualización o lectura del cambio colorimétrico. Como ejemplo de dicho soporte, se puede considerar cualquier analito empleado en tiras reactivas tipo “screening” o los analitos empleados en tiras inmunocromatográficas, en particular, péptidos o polímeros.
En otra realización preferente de la invención, la información contenida en las capas que componen el dispositivo puede ir cifrada, para asegurar que sólo pueda extraerse si se dispone de un código de desencriptación correspondiente.
En un segundo aspecto, la presente invención se refiere a un procedimiento de fabricación del dispositivo de la invención y de sus capas dinámicas, configuradas para generar errores sobre el código visual contenido en la capa estática, ampliando así la información que proporciona el dispositivo. En el citado procedimiento, a partir de un código visual que comprende metainformación estática (es decir, de la capa estática), el procedimiento de creación de capas dinámicas de la invención comprende la generación una representación gráfica a partir de lo que se denominará codificación de la “información errónea”, en la que se genera un código extendido mediante el cual se asocia la información de error con un significado determinado, que permite interpretar las palabras con errores (definidos en la condición de error) y las distintas posiciones del código visual en las que debe ubicarse el material que se altera dinámicamente.
Preferentemente, el procedimiento de codificación de la invención comprende las siguientes etapas (Figura 1), que se puede realizar tantas veces como capas dinámicas contenga el dispositivo:
Selección de una o más posiciones del código visual de la capa estática en las que se puede almacenar información de forma que introduzcan errores corregibles por el código.
Definición de una o más condiciones de error, que determinarán la interpretación que se hace del error en función de la posición en la que éste se detecte. Generación del código extendido, con la codificación de la metainformación generada en la etapa anterior.
A continuación se describe cada una de las etapas del método en mayor detalle:
- Generación de un código visual que comprende metainformación estática (capa estática):
En esta etapa, opcional, ya que el procedimiento puede partir de códigos visuales previamente creados, se produce la conversión de la información en palabras válidas para el código Las palabras que se generan en esta etapa tendrán que ser válidas para el código y dependerán de la representación visual de la codificación que se emplee: códigos QR, códigos Bidi, códigos de barras, etc. Desde un punto de vista práctico, en esta etapa se codifica, típicamente, información relativa al ámbito específico al que se aplique la invención en una realización dada (por ejemplo, lote de producto, fecha, URLs de acceso a servidores, etc.), y que puede ir opcionalmente cifrada.
- Selección de posiciones del código visual de la capa estática en las que se puede almacenar información:
Como se ha descrito previamente, por “posición” en un código visual se entiende un punto, o región identificada por unas coordenadas (x,y), localizadas en el área en la que se representa el código visual, ya sea un área de datos o un área de protección ante errores. Los códigos visuales con capacidad de corrección de errores suelen tener posiciones fijas dedicadas a la sincronización, orientación, etc., por lo que, en diferentes realizaciones de la invención, estas posiciones pueden ser opcionalmente descartadas. Del resto de posiciones se seleccionan aquéllas que, al ser modificadas, introduzcan errores corregibles por el código. Estas posiciones se almacenan y serán las que posteriormente contendrán los medios que se ven alterados por las condiciones físicas o químicas.
- Definición de las condiciones de error:
En esta etapa se introduce metainformación que define las condiciones de error y el significado que tendrán estas condiciones. Una vez creada la información elemental que se desea almacenar en el código visual, se debe decidir cómo se han de interpretar dichas condiciones con cada error, dependiendo de la posición en qué éste suceda. Es decir, en esta etapa se define el tipo de modificaciones, asociadas a cada posición de código, que pueden sufrir las palabras codificadas en la capa dinámica. Posteriormente, se define qué interpretación tendrá cada una de las modificaciones posibles.
En un ejemplo de realización de la invención, en el que se desea interpretar el error cometido al leer el color del sensor implementado en un código QR, se podría proceder de la forma siguiente: i) En la capa estática se define la información (palabras-código) que contendrá el código visual, así como sus colores correspondientes. Esta información puede ser relativa a la empresa, lote, y otras características logísticas. ii) La información definida en el paso anterior se codifica mediante un protocolo de codificación dado (por ejemplo, un protocolo convencional para códigos QR de tipo Reed Solomon), cuyas palabras-código irán emplazadas, al menos parcialmente, en las zonas de protección ante errores de los QR. iii) Asimismo, en el QR se imprimirán algunas palabras-código con tinta no sensora y otras con tinta sensora. Así, las palabras-código impresas con tinta sensora podrán experimentar una variación de color respecto a las palabras-código marcadas con tinta no sensora. iv) Cuando se somete el QR a reconocimiento óptico, las palabras-código se decodificarán mediante protocolo Reed Solomon, especificándose la distancia que hay entre el color leído y el color con el que se imprimió originalmente. Ello otorga la distancia de referencia a aplicar en el momento de lectura (condiciones de luz, cámara, etc., pudiéndose aplicar, opcionalmente, factores de corrección) y se analiza el porcentaje de variación respecto del color original.
- Generación del código extendido con la codificación de la metainformación generada en la etapa anterior: En esta etapa se debe asociar la información de los errores generados en la etapa anterior (metainformación) con la capa de información contenida en la capa estática, especificándose cómo debe interpretarse el conjunto de errores detectados. De este modo se construye el código extendido que da validez a cierta información marcada como errónea durante la decodificación en el receptor del mensaje.
En una realización particular de la invención, el procedimiento se completa con una etapa de generación física, en particular impresión o deposición, de la capa dinámica, que depositará los medios alterables en aquellas posiciones seleccionadas previamente. Esta generación física se realizará, preferentemente, mediante impresión de cada una de las capas superpuestas que conforman el dispositivo, empleando componentes químicos o bioquímicos. Así, para el ejemplo basado en análisis de errores de color antes descrito, la condición de error se crea añadiendo una capa dinámica sobre la capa de estática de forma que, con tinta sensora, se imprimen áreas cuya coloración cambia con el tiempo (por ejemplo, ante la presencia de una bacteria, gas, agente químico, etc.), de forma que aparezca nueva información sobre la información codificada en el código visual de la capa estática que, por tanto, adquiera un nuevo significado al interpretarse como una condición de error.
En un tercer aspecto la presente invención se refiere, asimismo, a un procedimiento de decodificación de información contenida en el dispositivo de la invención, que comprende la identificación de palabras marcadas con error y su corrección, empleando primero una palabra del código y posteriormente una palabra del código extendido. Más concretamente, dicho procedimiento comprende las siguientes etapas:
Selección de una palabra marcada como error.
- Análisis del error: o Devuelve la palabra del código con la que presenta una menor distancia con la palabra seleccionada en la primera etapa.
Interpretación del error: o Devuelve la palabra del código extendido que presenta una menor distancia con la palabra seleccionada en la primera etapa.
El procedimiento de decodificación se basa fundamentalmente en el análisis del mensaje cuando éste se lee, así como en la extracción de las palabras que lo codifican (ver Figura 2). Si las palabras no están marcadas con errores, entonces la palabra se considera válida y, por tanto, su interpretación o significado será único. Si, por otra parte, la palabra va marcada con error, entonces es posible corregirla (en caso de que el código permita la corrección de errores) y reemplazarla por una palabra del código que sea válida y de la que se separe menos (dicho análisis puede estar basado, por ejemplo, en la distancia de Hamming). Adicionalmente, y de acuerdo con el método propuesto por la invención, durante la fase de codificación se crea una capa de metainformación asociada a una capa dinámica que generará errores en la información codificada, y que permite interpretar dichos errores y validar cada palabra. Durante el proceso de decodificación, en lugar de ignorar los errores y corregir la(s) palabra(s) errónea(s), se considerarán válidas dentro del subcódigo.
En una realización particular, el algoritmo empleado para la corrección de errores es un algoritmo de tipo Reed-Solomon. Asimismo, en otra realización particular, en la que la información contenida en el dispositivo de la invención está encriptada, el procedimiento de decodificación comprende también la desencriptación de esa información.
Un cuarto objeto de la invención se refiere a un programa de ordenador que comprende instrucciones para llevar a cabo el procedimiento de creación de capas dinámicas de la invención y/o el procedimiento de decodificación de la invención. De este modo, dicho objeto puede estar realizado en forma de código fuente, de código objeto o en un código intermedio entre código fuente y código objeto, tal como en forma parcialmente compilada, o en cualquier otra forma adecuada para usar en la implementación de los procesos de acuerdo con la invención. En particular, los programas de ordenador también abarcan aplicaciones en la nube que implementen el procedimiento de creación de capas dinámicas de la invención y/o el procedimiento de decodificación de la invención. Dichos programas pueden estar dispuestos sobre o dentro de un soporte apto para su lectura, denominado como “medio portador” o, simplemente, “portador”. El medio portador puede ser cualquier entidad o dispositivo capaz de portar el programa. Cuando el programa va incorporado en una señal que puede ser transportada directamente por un cable u otro dispositivo o medio, el medio portador puede estar constituido por dicho cable u otro dispositivo o medio. Como variante, el medio portador podría ser un circuito integrado en el que va incluido el programa, estando el circuito integrado adaptado para ejecutar, o para ser utilizado en la ejecución de, los procesos correspondientes.
A modo de ejemplo, los programas pueden estar incorporados en un medio de almacenamiento, como una memoria ROM, una memoria CD ROM o una memoria ROM de semiconductor, una memoria USB, o un soporte de grabación magnética, por ejemplo, un disco flexible o un disco duro. Alternativamente, los programas podrían estar soportados en una señal portadora transmisible. Por ejemplo, podría tratarse de una señal eléctrica u óptica que podría transportarse a través de cable eléctrico u óptico, por radio o por cualesquiera otros medios.
Un quinto aspecto de la presente invención se refiere a un sistema de lectura de información visual codificada con capacidad de detección de errores, que permite decodificar la información contenida en los dispositivos de la invención, en particular los dispositivos creados al superponer, sobre un código visual con capacidad de corrección de errores, una o más capas dinámicas creadas con el procedimiento de creación de capas dinámicas de la invención, y que comprende los medios necesarios para llevar a cabo el procedimiento de decodificación de la invención.
Más concretamente, el sistema de la invención comprende, preferentemente:
Medios para capturar o adquirir imágenes.
Medios de procesamiento de información aptos para ejecutar instrucciones configuradas para llevar a cabo el procedimiento de decodificación de la invención.
Opcionalmente, al menos un servidor externo y medios de comunicación configurados para conectar el sistema a dicho servidor externo, y permitir el intercambio de información entre ambos.
Ejemplos de medios para capturar imágenes pueden variar entre una cámara digital, sensores CCD o lectores de códigos mediante infrarrojos. En una realización preferente, el sistema de lectura de códigos de la invención comprende un sensor CCD.
Como ejemplo de medio de procesado de información, puede emplearse cualquier procesador con capacidad para ejecutar las instrucciones de programa que implementa el método de decodificación de la invención.
El sistema puede realizar el procesamiento de decodificación sin tener que intercambiar información con ningún otro elemento computacional externo (como, por ejemplo, servidores de datos). No obstante, en otras realizaciones particulares de la invención, el sistema puede comprender también uno o más servidores y medios de comunicación entre los mismos. Ejemplos de dichos medios de comunicación son dispositivos de comunicación a través de WIFI o Bluetooth, o conexiones USB, entre otros. En otra realización particular, el sistema comprende una antena de comunicaciones que permita acceder a otros entornos (redes) de computación, a través de protocolos comerciales o de investigación de intercambio de datos en redes de comunicaciones, Internet entre ellas. Finalmente, en otra realización opcional, el sistema comprende además medios de salida de datos donde se pueda mostrar información, tales como por ejemplo una es una pantalla.
Otro objeto de la invención se refiere a medios de almacenamiento legibles por un ordenador, que comprenden instrucciones de programa capaces de hacer que un ordenador lleve a cabo el procedimiento de creación de capas dinámicas de la invención y/o el procedimiento de decodificación de la invención.
Finalmente, un último objeto de la invención se refiere a señales transmisibles que comprenden instrucciones de programa capaces de hacer que un ordenador lleve a cabo el procedimiento de creación de capas dinámicas de la invención y/o el procedimiento de decodificación de la invención.
Según los objetos de la invención antes descritos, se procede a continuación a describir algunos ejemplos de aplicación de los mismos:
- Procedimiento de control de color:
Otra aplicación directa de la invención es poder contar con un medio de control para dispositivos que usen cámaras para leer información asociada al color. Dicha aplicación permite corregir las desviaciones, en la lectura del color, que se producen por las condiciones lumínicas, como consecuencia del sustrato de las tintas usadas, del papel, del proceso de fabricación de la cámara, por los algoritmos de compresión de la imagen captada a través de la cámara, etc. En este contexto, la invención hace posible, gracias a la interpretación de la información de error en la lectura, corregir dicha información de color en forma de metainformación. Como ejemplo de esta aplicación, y para la correcta interpretación de la información de color, en una realización preferente de la invención es posible llevar a cabo un procedimiento de validación de color, mediante uno o más colores de referencia. Para este fin, es posible utilizar un código QR equipado con una o más regiones coloreadas con dichos colores de referencia, preferentemente no alterables. Además de estas regiones, el QR poseerá otra parte de su código configurada con tinta que cambiará su color dinámicamente, ante la presencia de un reactivo (siguiendo la realización general de la invención). Los colores de referencia pueden ser previamente conocidos a la hora de analizar la información de color del QR, sirviendo así como colores “control” a efectos de analizar su cambio de color como consecuencia del reactivo presente en la tinta. En la Figura 3 del presente documento se muestra, a título ilustrativo, el análisis de un código QR configurado con un patrón de tres colores de referencia en sus esquinas: OxOOOOFF (azul), OxOOFFOO (verde) y OxFFOOOO (naranja). Cuando se escanea la imagen de dicho QR (por ejemplo, habiéndose obtenido dicha imagen mediante la cámara de un dispositivo móvil), la información de color de las esquinas se percibe como 0x00113F (azul), 0x003510 (verde) y 0xF23001 (naranja). De este modo, si el dispositivo móvil está configurado con la información de referencia de dichos colores, podrá calcular las desviaciones en la lectura del color producidas por las condiciones lumínicas, los parámetros de la propia cámara, etc., y que no se deben, estrictamente, a la alteración dinámica de los colores de su capa sensible. Gracias a los colores de referencia, una aplicación software encargada de analizar la información podrá interpretar el resto del mensaje del QR, utilizando la información de las esquinas y las diferencias obtenidas en su lectura a modo de calibración de color de la cámara. En consecuencia, dicha calibración permitirá determinar con mayor precisión el cambio de color de la región central del QR (por ejemplo, aplicando la variación obtenida con un algoritmo Reed Solomon).
- Procedimiento de obtención de datos útiles para diagnóstico:
Otra aplicación de la invención es su empleo para obtener información útil para el diagnóstico médico y, de forma más concreta, su empleo en el desarrollo de kits de diagnóstico de enfermedades o marcadores de enfermedades que permitan obtener información in situ y en tiempo real. En el mercado existen números sistemas, por ejemplo tiras reactivas inmunocromatográficas, dispositivos de tipo “lab-on-chip”, etc., que pueden beneficiarse de un dispositivo según la invención.
- Envases inteligentes:
En otra realización particular, la invención puede utilizarse en un envase que lleva incorporado al menos un dispositivo de codificación, caracterizado por que al menos una de las capas dinámicas del código está compuesta por un compuesto químico o bioquímico que puede alterar sus propiedades ópticas u opacidad, en función de las condiciones físicas o químicas que se produzcan dentro y/o fuera del envase. A modo de ejemplo, un envase según la invención puede consistir en un film transparente, para envasado al vacío o en atmosfera controlada, que lleva impreso un código de la invención en su parte interior, y en la que dicho código visual contiene una primera capa de información estática con datos relativos al producto envasado (fecha de envasado, tipo de producto, etc.), y una segunda capa dinámica compuesta por un compuesto químico que reacciona en presencia de oxígeno, y que alcanza la opacidad cuando el nivel de oxígeno en el interior de la bolsa supera un determinado umbral.
- Test de embarazo:
En otra realización particular, mediante los dispositivos de la invención se puede mejorar la aplicación del test de embarazo basado en la presencia de la hormona llamada gonadotropina coriónica humana (hCG, por sus siglas en inglés). El test determina la presencia o ausencia de esta hormona en la orina, con la conclusión de si la mujer está embarazada o no.
En este caso, se emplea un código QR impreso sobre una tira reactiva, en el con algunos bits modificados bioquímicamente con los anticuerpos monoclonales y policlonales contra la hCG, junto con el indicador colorimétrico y producirse mediante un ensayo tipo “sándwich”, un ensayo de inhibición de la aglutinación o un inmunoensayo de flujo lateral. Si se produce la reacción inmunológica, el test será positivo y existirá un código de colores para informar a la persona sobre el resultado.

Claims

REIVINDICACIONES
1.- Dispositivo para el almacenamiento de información codificada con capacidad de corrección de errores, que comprende:
- una primera capa física, que comprende una impresión gráfica inalterable de un mensaje codificado mediante un código con capacidad de corrección de errores;
- al menos una segunda capa física, que comprende una impresión gráfica alterable en función de las propiedades físico/químicas de dicha segunda capa física, donde dicha alteración genera uno o más errores en la información del mensaje codificado en la primera capa física; caracterizado por que el mensaje de la primera capa física y los errores generados en ella por alteración de la impresión gráfica de la segunda capa física están codificados según un código extendido, donde dicho código extendido comprende una o más reglas de definición y corrección de errores en dicho mensaje, a partir de la información óptica asociada a la superposición formada por la impresión gráfica inalterable de la primera capa física y por la impresión gráfica alterable de la segunda capa física, de forma que la información asociada a los errores proporciona información ampliada respecto al código del mensaje de la primera capa física.
2.- Dispositivo según la reivindicación anterior, donde la segunda capa física está impresa con uno o más componentes químicos y/o bioquímicos con concentración o propiedades ópticas variables, en función de una o más condiciones físico/químicas.
3.- Dispositivo según la reivindicación anterior, donde la propiedad óptica variable comprende el color de impresión de la segunda capa física.
4 Dispositivo según la reivindicación anterior, donde la primera capa física comprende una o más regiones coloreadas a modo de control, o referencia de color, para el análisis del color de la segunda capa física.
5.- Dispositivo según cualquiera de las reivindicaciones 2-4, donde los componentes químicos y/o bioquímicos de la segunda capa física comprenden:
- uno o más primeros reactivos, cuya concentración o propiedades ópticas son variables al reaccionar con, al menos, unos segundos reactivos; y/o
- uno o más compuestos cuya concentración o propiedades ópticas son variables ante la presencia de una bacteria, gas o agente biológico o bioquímico.
6.- Dispositivo según cualquiera de las reivindicaciones anteriores, donde el mensaje impreso en la primera capa física comprende una codificación de tipo QR, código de barras, bidi y/o datamatrix.
7.- Procedimiento de fabricación de un dispositivo según cualquiera de las reivindicaciones anteriores, caracterizado por que comprende las siguientes etapas:
- se dispone una primera capa física sobre la que imprime información gráfica inalterable, donde dicha información comprende un mensaje codificado mediante un código, y donde dicho código comprende una o más reglas de definición y corrección de errores en dicho mensaje, en su lectura por parte de un medio de reconocimiento óptico del mismo; donde uno o más de dichos errores forma un código extendido con el código del mensaje;
- se dispone al menos una segunda capa física sobre la primera capa física, donde dicha segunda capa física comprende una impresión gráfica alterable, sobreimpresa a la impresión gráfica inalterable de la primera capa física, y donde dicha segunda capa física está configurada para generar, con la alteración de su impresión gráfica, uno o más errores en el mensaje de la primera capa física, según el código extendido de codificación de la misma.
8.- Sistema para decodificar información codificada, con capacidad de corrección de errores, que comprende:
- un dispositivo según cualquiera de las reivindicaciones 1-6;
- medios de reconocimiento óptico de la superposición formada por la impresión gráfica inalterable de la primera capa física y por la impresión gráfica alterable de la segunda capa física;
- medios de procesamiento de la información adquirida por los medios de reconocimiento óptico, configurados mediante hardware y/o software para decodificar el mensaje de la primera capa física y uno o más errores generados en ella por alteración de la impresión gráfica de la segunda capa física del dispositivo, estando el sistema caracterizado por que: el mensaje de la primera capa física y los errores generados en ella por alteración de la impresión gráfica de la segunda capa física del dispositivo están codificados según un código extendido, donde dicho código extendido comprende una o más reglas de definición y corrección de errores en dicho mensaje a partir de la información de lectura de los medios de reconocimiento óptico, de forma que dichos errores proporcionan información ampliada respecto al código del mensaje de la primera capa física.
9.- Sistema según reivindicación anterior, donde los medios de procesamiento de información comprenden uno o más servidores configurados con medios de decodificación del mensaje de la primera capa física y de los errores de la segunda capa física, según el código extendido de codificación de los mismos.
10.- Procedimiento para procesar información contenida en un dispositivo según cualquiera de las reivindicaciones 1-6, llevado a cabo por un sistema según cualquiera de las reivindicaciones 8-9, caracterizado por que comprende, al menos, las siguientes etapas:
- adquirir información, con los medios de reconocimiento óptico del sistema, de la superposición formada por la impresión gráfica inalterable de la primera capa física y por la impresión gráfica alterable de la segunda capa física;
- analizar, con los medios de procesamiento del sistema, la información obtenida en el paso anterior, identificando una o más palabras-código asociadas a un error generado en el mensaje de la primera capa física por alteración de la impresión gráfica de la segunda capa física del dispositivo, y corregir dicha información empleando primero una palabra del código y, posteriormente, una palabra del código extendido.
11.- Procedimiento según reivindicación anterior, donde la identificación de las palabras código asociadas a un error comprende la aplicación de una métrica que comprende el cálculo de la distancia de Hamming.
12.- Procedimiento según cualquiera de las reivindicaciones 10-11, donde la corrección de los errores comprende el uso de un algoritmo Reed-Solomon.
13.- Medio de almacenamiento legible por un ordenador que comprende instrucciones de programa capaces de hacer que un ordenador lleve a cabo el procedimiento según cualquiera de las reivindicaciones 10-12.
14.- Señal transmisible que comprende instrucciones de programa configuradas para hacer que un ordenador lleve a cabo el procedimiento según cualquiera de las reivindicaciones 10-12.
15.- Uso de un dispositivo según cualquiera de las reivindicaciones 1 -6 o de un sistema según cualquiera de las reivindicaciones 8-9 en un envase alimentario, en un kit de detección de enfermedades o en un dispositivo de predicción de embarazo.
PCT/ES2020/070800 2019-12-18 2020-12-17 Método, dispositivo y sistema para el almacenamiento, la codificación y la decodificación de información basada en códigos con capacidad de detección de errores WO2021123483A1 (es)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/786,286 US20230142587A1 (en) 2019-12-18 2020-12-17 Method, device and system for storing, encoding and decoding information based on codes with error detection capacity
EP20902320.9A EP4080411A4 (en) 2019-12-18 2020-12-17 METHOD, DEVICE AND SYSTEM FOR STORING, ENCODING AND DECODING INFORMATION BASED ON CODES CAPABLE OF DETECTING ERRORS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES201931128A ES2835053B2 (es) 2019-12-18 2019-12-18 Metodo, dispositivo y sistema para el almacenamiento, la codificacion y la decodificacion de informacion basada en codigos con capacidad de deteccion de errores
ESP201931128 2019-12-18

Publications (1)

Publication Number Publication Date
WO2021123483A1 true WO2021123483A1 (es) 2021-06-24

Family

ID=76378323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2020/070800 WO2021123483A1 (es) 2019-12-18 2020-12-17 Método, dispositivo y sistema para el almacenamiento, la codificación y la decodificación de información basada en códigos con capacidad de detección de errores

Country Status (4)

Country Link
US (1) US20230142587A1 (es)
EP (1) EP4080411A4 (es)
ES (1) ES2835053B2 (es)
WO (1) WO2021123483A1 (es)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6685095B2 (en) 1998-05-05 2004-02-03 Symagery Microsystems, Inc. Apparatus and method for decoding damaged optical codes
WO2006049430A1 (en) * 2004-11-05 2006-05-11 Colorzip Media, Inc. Mixed code, and method and apparatus for generating the same, and method and appratus for decoding the same
ES2257480T3 (es) 2001-05-15 2006-08-01 Sick Ag Procedimiento para la lectura de codigos bidimensionales.
US7373581B2 (en) 2002-12-03 2008-05-13 Nec Corporation Device, program, and method for decoding LDPC codes
AU2009202557A1 (en) * 2009-06-25 2011-01-20 Canon Kabushiki Kaisha QR code encoding method
ES2355423T3 (es) 1998-07-27 2011-03-25 Koninklijke Philips Electronics N.V. Codificación de información multipalara mediante itercalado de palabras.
US20120188442A1 (en) 2011-01-26 2012-07-26 Echostar Technologies L.L.C. Visually Imperceptible Matrix Codes Utilizing Interlacing
US20120193260A1 (en) * 2011-01-28 2012-08-02 Baltz Kyle L Bakery tray
WO2018175281A1 (en) * 2017-03-20 2018-09-27 Temptime Corporation A two dimensional barcode with dynamic environmental data system, method, and apparatus
US20190257822A1 (en) * 2018-02-19 2019-08-22 PragmaDx, Inc. Secure machine readable code-embedded diagnostic test

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6685095B2 (en) 1998-05-05 2004-02-03 Symagery Microsystems, Inc. Apparatus and method for decoding damaged optical codes
ES2355423T3 (es) 1998-07-27 2011-03-25 Koninklijke Philips Electronics N.V. Codificación de información multipalara mediante itercalado de palabras.
ES2257480T3 (es) 2001-05-15 2006-08-01 Sick Ag Procedimiento para la lectura de codigos bidimensionales.
US7373581B2 (en) 2002-12-03 2008-05-13 Nec Corporation Device, program, and method for decoding LDPC codes
WO2006049430A1 (en) * 2004-11-05 2006-05-11 Colorzip Media, Inc. Mixed code, and method and apparatus for generating the same, and method and appratus for decoding the same
AU2009202557A1 (en) * 2009-06-25 2011-01-20 Canon Kabushiki Kaisha QR code encoding method
US20120188442A1 (en) 2011-01-26 2012-07-26 Echostar Technologies L.L.C. Visually Imperceptible Matrix Codes Utilizing Interlacing
US20120193260A1 (en) * 2011-01-28 2012-08-02 Baltz Kyle L Bakery tray
WO2018175281A1 (en) * 2017-03-20 2018-09-27 Temptime Corporation A two dimensional barcode with dynamic environmental data system, method, and apparatus
US20190257822A1 (en) * 2018-02-19 2019-08-22 PragmaDx, Inc. Secure machine readable code-embedded diagnostic test

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4080411A4

Also Published As

Publication number Publication date
ES2835053B2 (es) 2022-06-16
EP4080411A4 (en) 2024-01-24
ES2835053A1 (es) 2021-06-21
EP4080411A1 (en) 2022-10-26
US20230142587A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
EP3520093B1 (en) Multi-dimensional optical code with static data and dynamic lookup data optical element sets
JP4294025B2 (ja) インターフェース表面を生成する方法、および符号化データを読み取る方法
KR102427514B1 (ko) 머신 판독 물품들을 위한 폐색 탄성 광학 코드들
JP5003225B2 (ja) 符号処理装置
EP1605341B1 (en) Coded pattern for an optical device and a prepared surface
US9530215B2 (en) Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
JP5048045B2 (ja) 位置コードを達成し且つ位置コードをデコーディングするための方法
KR101119310B1 (ko) 데이터의 코딩 및 디코딩
US20150339508A1 (en) Two-dimensional code
US20100327066A1 (en) Network based reliable decoding of bar codes
KR20170019374A (ko) 컨텐츠 필터링에 기초한 구조화된 광 3차원 (3d) 깊이 맵
CA2491579C (en) Enhanced approach of m-array decoding and error correction
CN107122816A (zh) 一种自定义寻像图形二维码及生成方法
JP2005310169A5 (es)
CA3045391C (en) Method for detection and recognition of long-range high-density visual markers
TW201416988A (zh) 顯示二維碼的印刷物
JP2005507535A (ja) 位置コーディングパターンをデコードするための方法およびデバイス
ES2835053B2 (es) Metodo, dispositivo y sistema para el almacenamiento, la codificacion y la decodificacion de informacion basada en codigos con capacidad de deteccion de errores
US8019181B2 (en) Image generation apparatus, image processing apparatus, computer readable medium and computer data signal
AU2009202557A1 (en) QR code encoding method
JP4874706B2 (ja) Qrコード読取装置
JP4397866B2 (ja) 2次元パターン読み取り装置、2次元パターン読み取り方法
JP4029411B1 (ja) 光学式シンボル及びそれが付された物品並びに光学式シンボルを物品に付す方法及び光学式シンボルのデコード方法。
JP2005275599A (ja) 手書き出力装置、手書き出力方法及びプログラム
JP2020161106A (ja) 情報読取装置及びプログラム

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: 20902320

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020902320

Country of ref document: EP

Effective date: 20220718