WO2016166469A1 - Dispositif d'aide au recensement d'objets - Google Patents

Dispositif d'aide au recensement d'objets Download PDF

Info

Publication number
WO2016166469A1
WO2016166469A1 PCT/FR2016/050847 FR2016050847W WO2016166469A1 WO 2016166469 A1 WO2016166469 A1 WO 2016166469A1 FR 2016050847 W FR2016050847 W FR 2016050847W WO 2016166469 A1 WO2016166469 A1 WO 2016166469A1
Authority
WO
WIPO (PCT)
Prior art keywords
codewords
list
collection
primary
objects
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/FR2016/050847
Other languages
English (en)
Inventor
Paul Couderc
Nebil BEN MABROUK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
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 Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Publication of WO2016166469A1 publication Critical patent/WO2016166469A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device
    • G06K17/0029Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device the arrangement being specially adapted for wireless interrogation of grouped or bundled articles tagged with wireless record carriers

Definitions

  • the invention relates to a device for assisting the monitoring of collections of physical objects.
  • a shipping unit is a collection of physical objects, which correspond to the objects associated with the shipping unit.
  • marking devices can be read by means of machines in order to automatically or semi-automatically process the identification data they contain.
  • barcodes or two-dimensional codes printed on the objects or on labels to be associated with them are used.
  • Radio frequency tags, also called "RFID" tags, or the like, are increasingly being used.
  • an association is first made between the marking devices of the physical objects of the collection.
  • identifiers corresponding to objects of a collection are read and saved in the information system. This system can further maintain a relationship between the identifiers corresponding to the objects.
  • Monitoring the collection involves acquiring a list of the identifiers contained in the marking devices of a collection of objects and comparing this list to the identifiers , possibly interconnected, in the information system.
  • Devices of this type not only make it possible to check the integrity of the collection of objects, that is to say that the objects that constitute a collection are physically present during the verification, but also to determine the identifier (s). missing and the objects they are associated with.
  • radiofrequency tags are being used as marking devices, particularly in the field of logistics.
  • tags can be read using antennas that create a radio frequency field. All the labels in a radio frequency field can be interrogated, making it possible to quickly identify collections with a large number of objects and / or objects of large volume.
  • the information system includes a description of the object collection, which is quite rare, we can compare the list of identifiers acquired with this description and, if necessary, not only diagnose the absence of object of the collection, but also identify missing objects.
  • Information system-based technologies require significant network resources, which allow for quick and reliable access to them when associating the labels of a collection and then at each verification. These accesses to generally distant information systems significantly slow down the census. In addition, network connections may be unavailable. Most importantly, technologies that use an information system require that it be used both in the computer creation of the collection and at each census. In many applications however, for example in the field of logistics, the creation of the collection and its verification is the responsibility of different actors. And the sharing of an information system between different actors poses difficulties, often prohibitive, at least as regards the confidentiality of the data and the management of the rights.
  • a device for monitoring physical objects of a new kind is autonomous: it does not require access to any database.
  • the physical objects of a collection are each marked with a radio frequency tag comprising an object identifier and description data of the collection, in particular in the form of the result of a hash function applied to all the objects. identifiers of the objects in the collection.
  • Verification of the collection of objects becomes a purely local process, decoupled from the process of association of radiofrequency tags.
  • the system is particularly satisfactory. It makes it possible to quickly check the integrity of a collection of objects, for example between a place of dispatch and a place of destination.
  • the invention aims to improve the situation.
  • it seeks to provide a physical object monitoring system that is autonomous, fast, efficient and reliable, which makes it easy to determine missing identifiers. It is also a question of minimizing the amount of data stored on radio frequency particular without exceeding the memory storage capacity of these tags. It also aims for a system that is fast to both writing and reading.
  • the device for assisting the monitoring of physical objects includes radio frequency tags to be individually associated with a collection of objects for census purposes and each comprising a first memory zone and a second memory zone, an interface for entering warning words. code, an encoder capable of interacting with the interface.
  • the encoder is arranged to react to the input of a list of primary code words corresponding to identifiers of objects that are stored in the first memory areas of the radio frequency tags by establishing a list of secondary code words corresponding to a redundant encoding of the primary codewords, and for writing the secondary codewords distributed in the second memory areas of the radio frequency tags.
  • a device for assisting the monitoring of physical objects including radio frequency tags individually associated with a collection of objects for census purposes each comprising a first memory zone and a second memory zone, an interface for entering words from code, a decoder capable of interaction with the interface in which the decoder is arranged to react to the input of a list of secondary words corresponding to a redundant encoding of a list of primary words stored in a distributed manner in seconds memory areas of radio frequency tags by decoding the list of secondary words to extract the list of primary words.
  • a method for assisting the enumeration of physical objects in which radio frequency tags are individually associated with a collection of objects each comprising a first memory zone and a second memory zone is also proposed. A list of corresponding primary codewords is received.
  • the proposed devices operate autonomously, without the use of an information system. They do not require access to any database.
  • the object identifiers and the secondary codewords which allow the enumeration of objects even in the absence of some of them, are efficiently stored on the labels associated with these objects.
  • the storage in question minimizes the use of the label memory. This allows first to use the simplest labels, the least expensive. This also speeds up the reading and writing steps of these tags.
  • the devices also perform well with respect to decoding and encoding operations. This allows the effective census of large collections of objects.
  • FIG. 1 shows a facility for the census of physical objects of a first type
  • FIG. 2 represents a radio frequency tag memory
  • FIG. 3 represents a block diagram of an encoder for use for example in the installation of FIG. 1;
  • FIG. 4 represents a flowchart illustrating the operation of an encoder used for example in the installation of FIG. 1;
  • Figures 5 to 9 show flowcharts illustrating functions for use for example in the encoder of Figure 1;
  • Fig. 10 is a diagram illustrating a data storage structure for use in, for example, radio frequency tags;
  • Figures 11 and 12 show flowcharts illustrating other functions still for use for example in the encoder of Figure 1;
  • - Figure 13 shows a facility to help in the census of physical objects of a second type;
  • FIG. 14 represents a flowchart illustrating the operation of an encoder used for example in the installation of FIG. 13.
  • Labels 5-1 to 5-6 have memory. And this memory stores at least one code word that identifies the respective object 3-1 to 3-6.
  • the set of labels 5-1 to 5-6 for objects 3-1 to 3-6 of the collection 1 is called a label collection.
  • the collection 1 may correspond, for example, to objects 3-1 to 3-6 arranged on the same transport pallet.
  • An installation of a first type, to assist in the census of objects 3-1 to 3-6, includes one or more antennas, here two antennas 7-1 and 7-2, which delimit a radio frequency field 9.
  • the antennas 7 -1 and 7-2 are associated with a reader / writer 11 which allows the reading / writing of data contained in the memory of radio frequency tags present in the field 9.
  • the collection 1 of physical objects 3-1 to 3-6 is arranged in the field 9, which allows the reader / writer 11 to acquire the code words from the label collection.
  • the installation of Figure 1 further comprises an encoder 13 connected to the reader / writer 11 so as to exchange data.
  • the encoder 13 is arranged to react to the reception of a list of primary code words, corresponding here to the codewords stored in the memories of the labels 5-1 to 5-6 present in the field 9, by establishing a list secondary codewords to be stored in the memories of these tags 5-1 to 5-6.
  • FIG. 1, in particular the encoder 13, serves mainly to program the collection of labels intended for the collection 1 of objects 3-1 to 3-6.
  • This programming aims to store efficiently, in the memory of the labels in question, data relating to the collection of objects, and in particular, which allow the census of the collection of objects. Effective storage minimizes the amount of memory used in the label collection, globally.
  • the data relating to the collection of objects, corresponding for example to a description of the objects of this collection are stored in a distributed manner on the labels of the collection. Efficient storage also ensures that collection data can be read, even in the absence of certain objects in that collection.
  • Figure 2 Reference is made to Figure 2.
  • FIG. 1 shows an organization of the memory 50 of a radio frequency tag, for example the tags 5-1 to 5-6 of FIG.
  • the memory 50 includes a first zone, or "bank”, or reserved zone 52.
  • the reserved zone 52 stores useful control data for different functions of the tag.
  • the reserved zone 52 stores passwords that protect certain functions of the tag, such as erasing the contents of the rest of the memory 50, or reprogramming it for example.
  • a second zone, or zone EPC 54 which stores in particular a code uniquely identifying a product. This code is also known as the EPC code for "Electronic Product Code” or French Electronic Product Code.
  • the EPC zone 54 may be 96 or 128 bits for example (24 or 32 characters in hexadecimal).
  • a third area, or TID area 56 which stores data relating to the manufacture of the label, for example a code designating a label template and a code relating to a serial number.
  • a fourth zone, or user zone 58 for the user data.
  • the size of the user area 58 may differ from one label template to another. Typically, this size is between 512 and 4096 bits (128 to 1024 characters in hexadecimal).
  • a facility for the recording of physical objects according to the invention interacts mainly with EPC zone 54. It may, in addition or in replacement, interact with user zone 58.
  • the memory 50 corresponds for example to the memory of a standard EPC class 1, second generation label. It is a type of passive tags, simple design and limited and low memory, which makes it very inexpensive. Reference is made to Figure 3.
  • the device 90 comprises a computer 92, an input / output interface 94 with which the computer 92 is likely to interact.
  • the device 90 further comprises the memory 96 with which the computer 92 can interact to read, write and process data.
  • the interface 94 allows the reception and the transmission of data, in particular in the form of codewords.
  • the interface 94 may be connected to a reader and / or to a radio frequency label writer to receive and / or write codewords in the radio frequency tag memory, for example the reader / writer 11 of FIG. 1.
  • the computer 92 is capable of executing processing functions on received code words. Reference is made to Figure 4.
  • each primary codeword corresponds to an EPC code described above in relation to FIG. 2, or to FIG. at least a part of such a code, corresponding for example to the parts of the code identifying the manufacturer of the product and the serial number of the latter.
  • the encoding parameters comprise a number of secondary codewords, resulting from the encoding of object identifiers. a collection, and an encoding function to apply to these identifiers.
  • the number of secondary codewords is such that a collection of objects can be registered even in case of imperfection of reading. Imperfection in reading can be expressed as a read rate that is akin to reliability in the reading process of the label collection. It can be set to take into account not only the reliability of reading devices but also reading difficulties related to the relative arrangement of objects in the collection. The reading rate can be determined by experience for example, or set absolutely pessimistic, for example at 80%.
  • This order of the blocks 40 and 42 is more particularly adapted to the case where the identifiers of the objects are acquired (read) labels for encoding, for example by means for example by means of the device of FIG.
  • the order in question can be inverted, especially when the identifiers of the objects are obtained otherwise, for example manually entered.
  • the labels can be programmed in one phase with the object identifiers and the secondary codewords.
  • the secondary codewords are stored distributed in the memory of the tags of the collection. This is represented by block 46.
  • the secondary codewords are stored separately from the primary codewords.
  • Each tag in the collection ultimately stores a primary codeword and a portion of the secondary codewords.
  • the secondary codewords may, for at least some of them, be stored in a zone similar to the EPC zone 54 of FIG. 54, in particular in the case where this EPC zone 54 stores a primary codeword of size smaller than the size. This is the case, for example, when only part of the EPC code is used as a primary code word.
  • the secondary codewords may, in addition or in replacement, be stored in a zone similar to the user zone 58 of FIG.
  • the distribution of the second code words in the memories of the labels of the collection is such that it minimizes the use of memory while allowing the census of missing labels.
  • FIG. 5 shows a function capable of determining a number of control words according to the number of labels of a collection, for example the six labels 5-1 to 5-6 of FIG. 1, and an associated reading rate. devices used later.
  • the function of FIG. 5 can be implemented in an encoder similar to the encoder 13 of FIG. 1. For example, it can be executed by a computer similar to the computer 92 of FIG.
  • the function starts in a step 500.
  • the function receives an integer value corresponding to the number of tags of a collection, or BtchSze number, and an actual value indicating a minimum read rate, or RdRte rate. , reading devices.
  • the function assigns, as an integer value corresponding to the number of control words, or number ChkWdNr, the integer value of the ratio of the BtchSze number on the RdRte rate.
  • the function ends in the next step 506.
  • the number ChkWdNr guarantees that a reading device having a reading rate higher than the RdRte rate can read at least a number of control words greater than or equal to the number BtchSze.
  • the value of RdRte rate can be determined from censuses previously made with similar label collections, typically comprising the same number of labels and similar configuration. This value is preferably established pessimistically.
  • the number ChkWdNr corresponds to a threshold value, which minimizes the use of the memories of the labels of a collection: with a number of control words lower than the value of the number ChkWdNr, it is not possible to decode the words of primary code, and so determine the missing or unread tags.
  • an encoding function is determined.
  • a redundant encoding function is used which encodes a list of primary code words into a list of more numerous secondary codewords so that the list of primary code words can be retrieved by reading a code. Any subset of the list of secondary words corresponding to a minimum number of labels.
  • An encoding function based on a family code called "MDS" is used for "Minimum Distance Separable". In the example described here we use a coding function based on a Reed Solomon code, which optimizes the use of the memory. Other codes of this family can also be implemented.
  • the function starts in a step 600.
  • the function receives, as parameters, an integer value corresponding to a number of words to be encoded, or Wd2CdNr value, and an integer value corresponding to a number of words encoded, resulting from the encoding, or NcdWdNr value.
  • the encoding function is intended to be applied to the primary codewords, after conversion into integer values.
  • the value Wd2CdNr corresponds to the number of primary words.
  • the number of words coded NcdWdNr corresponds to the number of control words, typically the number ChkWdNr of FIG.
  • the encoding of the primary codewords comprises, prior to the application of the encoding function, an operation of decomposing these words, after conversion into integer values, into fragments of the same size.
  • the value Wd2CdNr is the number of primary codeword fragments.
  • the number of words encoded NcdWdNr corresponds to the number of control words, typically the number ChkWdNr of Figure 5, multiplied by the fragmentation rate of the primary codewords.
  • the function starts a loop by setting a counter i to zero.
  • the function declares and initializes an encoding matrix, in the form of an array NcdMtx [..] whose number of elements corresponds to the value NcdWdNr.
  • Each element of the table NcdMtx [..] includes a table whose number of elements corresponds to the value Wd2CdNr. All elements of the NcdMtx [..] array are set to zero.
  • the function assigns the value 1 ("a") to the index element i of the index table i of the table NcdMtx.
  • the function increments the counter i.
  • the function checks whether the counter i has reached its final value, which corresponds to the value Wd2CdNr. If so, then the function continues to the next step 612. Otherwise the function returns to step 606.
  • step 612 the function starts a second loop by setting a second counter j to zero.
  • step 614 the function assigns to the index element j of the index table i array NcdMtx [..] a value corresponding to the inverse of the sum of the values of the first counter i and the second counter j. This element of the array is calculated as part of the Hilbert matrix.
  • step 616 the function increments the second counter j.
  • step 618 the function verifies that the second counter ja reaches its final value, which corresponds to the value Wd2CdNr. If yes, then in the next step 620, the function increments the first counter i. Otherwise the function returns to step 614.
  • step 622 following step 620 the function verifies that the first counter ia reaches its final value, which corresponds to the number NcdWdNr. If yes, then the function ends in the next step 624. Otherwise the function returns to step 612.
  • NcdMtx [..] which corresponds to a matrix whose number of columns corresponds to the integer value Wd2CdNr and the number of lines to the integer value NcdWdNr. Each column of this matrix is linearly independent of the others.
  • the matrix in question can be seen as the division of an identity matrix whose dimension corresponds to the value Wd2CdNr by a Hilbert matrix.
  • the result of the identity matrix is a systematic encoding function: the list of words to be encoded is included in the list of coded words. All the square matrices of the resulting matrix are non-singular.
  • a systematic encoding function as described herein accelerates the operations of encoding and writing secondary codewords into the memories of the tags of a collection. Some of these secondary codewords correspond to a primary code word. These systematic secondary codewords are already stored in the tags. Only the others, which can be seen as redundancy or control codes, will be memorized, in a distributed way, in the memories of the labels of the collection. This decreases the amount of memory needed, especially when using the codes of the EPC memory as primary codewords.
  • a systematic encoding can be dynamically built. Here, for example, the main encoding parameters are determined in real time, according to the collection of labels to be programmed.
  • the function starts with a step 700.
  • the function receives a list of tag identifiers, which corresponds to the tags of the collection. Typically, this list is received from an active tag reader in an area where the collection of objects is located, for example the reader / writer 11 of FIG. 11 active in the field 9.
  • the tag identifier corresponds typically a code stored in a memory area of the tag similar to the TID area 56 of Figure 2.
  • the tag identifiers are stored in a table Tgld [..].
  • the function determines an integer value corresponding to the number of tags in the collection, or BtchSze value. This BtchSze value corresponds to the number of elements stored in the Tgld [..] table.
  • the function starts a loop by initializing a counter i to zero.
  • the function receives a code word, CdWd i, corresponding to the object identifier stored in the tag identified by the index value i of the table Tgld [..]. For example, the corresponding codeword is received at the input / output interface similar to the interface 96 of FIG.
  • the received code word CdWd i is stored as index item i in a table CdWd [..].
  • the table CdWd [..] corresponds to a list of code words each corresponding to an object identifier of the collection.
  • the function increments the counter i.
  • the function verifies that the counter i has reached its final value, which corresponds to the value BtchSze. If so, then the function ends in the next step 714. Otherwise the function returns to step 706 where it receives a new code word corresponding to an identifier of another label of the collection.
  • the encoding device for example the encoder 13 of FIG. 1, encodes a list of primary code words corresponding to the object identifiers of the radio frequency tags of the collection, which corresponds to the block 44 in FIG.
  • a previously determined encoding function for example the function illustrated in FIG. 6, to the list of identifiers to obtain a longer list of secondary codewords.
  • FIG. 8 shows a function capable of applying an encoding function constructed in a matrix form, for example the function described above in relation with FIG. 6.
  • the function starts in a step 800.
  • the function receives, as parameters, a list of integer values corresponding to words to be encoded, here in the form of an array Wd2Cd [..], and an encoding function, here in matrix form, typically the NcdMtx array [..] described above.
  • the function performs a multiplication of the table Wd2Cd [..] by the table NcdMtx [..]. This corresponds to a multiplication of a vector gathering the tag identifiers by the encoding matrix.
  • the result is stored in an array NcdWd [..] whose dimension corresponds to the value NcdWdNr and which gathers integer values corresponding to a list of secondary codewords. These resulting integer values are converted to a sequence of hexadecimal characters before being stored in a result array.
  • the function ends in the next step 806.
  • Primary codewords identifying objects in the collection are typically retrieved as a sequence of hexadecimal characters. Primary codewords are converted to an integer value prior to encoding.
  • step 804 it results from the multiplication of step 804 an array NcdWd [..] whose size corresponds to the value ChkWdNr and which gathers a list of secondary code words, generically noted CdWd i for the index element i in the table.
  • the encoding involves calculations on large integer values.
  • each fragment can comprise three digits.
  • Each primary code word identifying an object of the collection for example the word CdWd [i] is converted into an integer value. This integer value is broken down into a list of values whole, three figures each. The list of primary codewords is thus transformed into a list of integer values of three digits.
  • These three-digit values form the words to be encoded, for example the words of the table Wd2Cd [..] of FIG. 8. This results, after conversion into hexadecimal character sequences, of a list of secondary codewords, each of three characters.
  • fragmentation facilitates the distribution of secondary codewords in the tag memories.
  • the encoding device then organizes the storage of a list of secondary codewords, in a distributed manner, in the memories of the labels of the collection. It is also to memorize parameters necessary for decoding. Storage of secondary codewords and decode parameters is efficient, minimizing memory consumption and write time.
  • the storage is done in second memory areas of the labels of the collection. According to one aspect of the invention, the second code words and / or the decoding parameters are stored in a part of an area similar to the EPC zone described in relation to Figure 2 left free by a primary code word. Once the memory of the EPC zone is full, it is possible to store remaining secondary codewords in a zone similar to the user zone 58 of FIG. 2.
  • Secondary codewords are stored within the limits of the memory capacity of the tags, which avoids adding tags to the collection.
  • each tag of the collection stores a systematic code word, typically in a zone analogous to the EPC zone 54 of FIG. 2, and a part of the control codes, typically in the remaining part of the EPC zone or in a zone similar to the user zone 58 of FIG. Reference is made to Figure 9.
  • It shows a function capable of distributing a list of codewords on label memory areas of a collection of objects.
  • the function starts in a step 900.
  • the function receives, as parameters, an integer value corresponding to the number of objects in the collection, or BtchSze number, and an integer value corresponding to the number of words. of code to be distributed, or value Wd2TrNr.
  • the value Wd2TrNr corresponds to the number of secondary codewords to be distributed, for example the number of elements of the table NcdWd [..] of FIG. 8.
  • the function calculates the number of codewords to be stored per tag, or CdWdNrPerTg number, as the integer value of the ratio of the number of words Wd2TrNr on the number BtchSze.
  • FIG. 10 shows a data structure adapted to a label memory area, for example in a zone similar to the EPC zone 54, and / or the user zone 58, if applicable.
  • the data is transformed into a character string 100.
  • the characters of the string 100 are typically hexadecimal, so that the string of characters 100 may be processed by radiofrequency label writer, for example the reader / writer 11 of FIG. .
  • the character string 100 comprises a first segment corresponding to one or more secondary codewords, or code string 104, and a second segment corresponding to control data, or control string 102.
  • the data of the control chain 102 in particular, include parameter values for decoding the words of the code string 104.
  • the code string 104 comes after the control chain 102.
  • the function shows a function which transcribes control data, useful for decoding secondary codewords, in the form of a character string, for example for the control segment 102 of FIG. 10.
  • the function starts in a step 1100
  • the function receives the identifier of a label of the collection, noted generically Tgld k.
  • the function initializes a variable CrtlStrg of string type.
  • the string CrtlStrg is empty.
  • the function adds (concatenation) to the string CrtlStrg an integer value corresponding to the rank of the primary code word corresponding to Tgld k.
  • the value of the rank corresponds to the rank of a column of the encoding matrix. This value corresponds for example to the index value (+1) of the primary code word in the list of primary codewords. If necessary, it also corresponds to the index value of the identifier considered in the table of identifiers Tgld.
  • the function adds to the string CrtlStrg an integer value corresponding to the number of tags in the collection, or BtchSze number, multiplied by a read rate, or RdRte rate. This value corresponds to the minimum number of labels to be identified to allow a decoding of the identifiers.
  • the function adds to the string CrtlStrg an integer value corresponding to the number BtchSze. This value corresponds to a minimum number of codewords necessary for decoding.
  • the function adds to the chain CrtlStrg an integer value corresponding to the number of secondary code words, in particular control words, stored in the label. This value corresponds for example to the value CdWdNrPerTg calculated by the function of FIG. 9.
  • the chain CrtlStrg corresponds to the control section 102 described in relation with FIG. 10.
  • the function starts in a step 1200.
  • the function receives a list of code words to be transcribed, noted here Wd2Tr [..].
  • the list Wd2Tr [..] corresponds to the list of secondary code words, for example resulting from the list NcdWd [..] of FIG. 8.
  • the list Wd2Tr [..] corresponds to the secondary codewords which do not correspond to any primary codewords.
  • the order of the secondary codewords in the list Wd2Tr [..] is identical to that of the list of secondary codewords.
  • the function also receives an integer value CdWdNrPerTg representative of a number of codewords to be stored per tag. It also receives an ordered list of tag identifiers, similar to the Tgld [..] list.
  • the function starts loop structures by initializing at zero a first counter k, a second counter i and third counter j, respectively.
  • the function initializes a variable TrWdStrg of type string.
  • the function concatenates the string TrWdStrg, the secondary code word i in the list Wd2Tr [..], and a string str (rnk (i)) representing the rank of the code word secondary.
  • the rank of the secondary code word corresponds to the value of its index in the list resulting from the encoding of the primary codewords, typically the NcdWd list of FIG. of general realization, the rank in question corresponds to the index of the word in the list Wd2Tr [..], that is the value i here.
  • the rank in question corresponds to the value of i plus the number of secondary code words corresponding to one word. primary code.
  • the second counter i is incremented.
  • the next step 1216 tests whether the first counter i has reached the final value which corresponds to the number of codewords of the list Wd2Tr [..]. If so, then the function returns to step 1206 where the counter i is reset.
  • the third counter j is incremented.
  • step 1226 commands the writing of a string of characters analogous to the string CrtlStrg described in connection with FIG. 11 and the resulting string TrWdStrg in the memory of the label concerned. whose identifier is in Tgld [k] Otherwise the function returns to step 1212.
  • step 1228 following step 1226, the first counter k is incremented, before testing in the next step 1230 if this second counter k has reached its final value which corresponds to the number BtchSze of labels in the collection. If so, then the function stops at the next step 1220. Otherwise the function returns to step 1208.
  • the test in step 1216 ensures that a string TrWdStrg is written in each of the tags of the collection.
  • Figure 13 shows a device for monitoring the collection of physical objects of a second type.
  • the installation of Figure 13 is intended primarily for the integrity control and inventory of physical objects in a collection. It is a matter here of listing the collection 1 of the physical objects 3-1 to 3-6 of FIG. 1 to detect the absence of one of the physical objects, here the object 3-3.
  • FIG. 13 The installation of Figure 13 comprises elements similar to Figure 1 which are not described. With respect to the device of FIG. 1, the installation here comprises a radio frequency label reader 15 replacing the reader / writer 11. The reader 15 is connected to a decoder 17 which replaces the encoder 13.
  • the decoder 17 receives a list of codes corresponding to tag identifiers read in the field 9 (block 140). For each tag, it is also necessary to read the primary codewords identifying an object of the collection, typically stored in zones similar to the EPC zones 54 and, where appropriate, the strings of characters stored in addition to these zones. EPC 54 and / or users 58. These include chains similar to the control strings and code strings of Figure 10. This phase corresponds in essence to a conventional reading of radio frequency tags.
  • the next phase, represented by block 142 corresponds to the retrieval of an ordered list of secondary codewords from the additional character strings. The codewords of the character strings are ordered according to the pattern stored in the parameter data stored also the labels. In the case of a systematic encoding, the list is established by completing the list of primary codewords (obtained in block 140). Finally, a list of secondary code words is obtained.
  • the next phase essentially corresponds to the decoding of the secondary code words in order to recover a list of object identifiers.
  • Decoding is mainly done by inverting a sub-matrix of the previously generated matrix. This sub-matrix is formed by the lines (of the generator matrix) which correspond to the rank of the control words recovered (by the blocks 140 and 142). The comparison of the primary codes read to the list of object identifiers makes it possible to identify the missing objects.
  • EPC codes as primary codewords identifying the objects in the collection has been mainly described, but other codes can be used. These codes can, if necessary, be generated by the encoder and entered in the labels.
  • the device according to the invention may further be arranged to supplement the data stored in the collection's tags by any data relating to the object collection directly or its census. This data may include, for example, indications on the location of the labels on the physical objects to help read the labels and / or diagnose a reading error. This data can be stored in duplicate on each label of the collection, or distributed on these labels in the manner of what has been described for secondary code words, where appropriate with redundancy.
  • the described device makes it possible to identify unread tags, corresponding to the absence of an object or to a read error. It uses the codes contained in the read tags to reconstruct a description of the collection.
  • the device may be sensitive to the presence in the verification zone of foreign labels to the collection of objects, at least to the association of tags that results. It will be possible advantageously to implement the teachings of FR2931613 mentioned above which make it possible to check in advance the integrity of the collection of read tags.
  • the invention has been described in the form of a device for assisting the monitoring of physical objects.
  • the examples described above allow the implementation of different application devices.
  • the invention is of interest since there is a risk of error reading a label among a collection of tags sharing useful data. Therefore the invention could be expressed in the form of a data control device in a collection of radio frequency tags each comprising a first memory area and a second memory area.
  • the device includes an interface for entering code words and an encoder capable of interacting with the interface.
  • the encoder is arranged to react to the input of a list of primary code words corresponding to useful data which are stored in the first memory areas of the radio frequency tags by establishing a list of secondary code words corresponding to an encoding redundant primary codewords, and to write the secondary codewords distributed in the second memory areas of the radio frequency tags.
  • This embodiment has high performance. It is easily parameterizable according to the number of primary code words to be encoded. It easily adapts to collections of different sizes from each other. In many applications, this matrix embodiment thus proves to be the most efficient than a polynomial encoding function. The latter can nevertheless be used. In In particular, it may be more efficient than the matrix form to be implemented in the form of a circuit dedicated to encoding.
  • Reed-Solomon codes can be implemented on the basis of a generator polynomial, instead of the generator matrix as described above.
  • a generator polynomial is constructed which is used to encode and decode primary codewords.
  • a polynomial d (x) of degree k-1 representing the primary codewords is constructed as follows:
  • di represents the input data (data word) of rank i
  • Each polynomial is defined as follows: jE ⁇ 0, .., ml ⁇ and i the rank of the data recovered (not lost) with 0 ⁇ i ⁇ n;
  • a Vandermonde square matrix V (m) of size m, of root a, is constructed and each column is multiplied by a A q, where q is the rank of a lost data word (the lost data words are classified in an increasing order according to their rank);

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un dispositif d'aide à la surveillance d'objets physiques comprend des étiquettes radiofréquences à associer individuellement à une collection d'objets à fin de recensement. Chaque étiquette comprend chacune une première zone mémoire et une seconde zone mémoire. Une interface permet d'entrer des mots de code. Un encodeur est capable d'interaction avec l'interface. L'encodeur est agencé pour réagir à l'entrée d'une liste de mots de code primaires correspondant à des identifiants d'objets qui se stockent dans les premières zones mémoire des étiquettes radiofréquences en établissant une liste de mots de code secondaires correspondant à un encodage redondant des mots de code primaires, et pour écrire les mots de code secondaires de manière répartie dans les secondes zones mémoire des étiquettes radiofréquences.

Description

Dispositif d'aide au recensement d'objets
L'invention concerne un dispositif d'aide à la surveillance de collections d'objets physiques.
Il existe une multitude de domaines dans lesquels l'on souhaite surveiller une collection d'objets physiques. En logistique par exemple, lors d'une expédition de marchandises, il est souhaitable de vérifier que les marchandises expédiées correspondent aux marchandises reçues, en particulier pour s'assurer de l'absence de perte ou de vol de marchandise. Dans ce cas, une unité d'expédition, une palette ou un conteneur par exemple, correspond à une collection d'objets physiques, lesquels correspondent aux objets associés à l'unité d'expédition.
Pour surveiller une collection d'objets physiques, on a l'habitude de marquer individuellement les objets qui la composent au moyen d'un dispositif qui permet de les identifier de manière rapide et fiable. Il importe d'abord que les dispositifs de marquage puissent être lus au moyen de machines afin de traiter de manière automatique ou semi- automatique des données d'identifications qu'ils contiennent. On utilise en particulier des codes-barres ou des codes à deux dimensions imprimés sur les objets ou sur des étiquettes à associer à ces derniers. On utilise de plus en plus des étiquettes radiofréquence, aussi désignées étiquettes "RFID", ou analogue.
Pour pouvoir surveiller la collection, on réalise d'abord une association entre les dispositifs de marquage des objets physiques de la collection.
La plupart des systèmes de surveillance actuels réalisent cette association de manière informatique, à l'aide de systèmes d'information comme les bases de données ou les systèmes de gestion de fichiers numériques : des identifiants correspondant aux objets d'une collection sont lus et enregistrés dans le système d'information. Ce système peut en outre maintenir une relation entre les identifiants correspondant aux objets.
La surveillance de la collection, que l'on peut voir aussi comme un recensement et/ou une vérification, implique d'acquérir une liste des identifiants contenus dans les dispositifs de marquage d'une collection d'objets et de comparer cette liste aux identifiants, éventuellement reliés entre eux, dans le système d'information.
Les dispositifs de ce type permettent non seulement de vérifier l'intégrité de la collection d'objets, c'est-à-dire que les objets qui constituent une collection sont physiquement présents lors de la vérification, mais aussi de déterminer le ou les identifiants manquants et les objets auxquels ils sont associés.
De plus en plus, on utilise des étiquettes radiofréquence en tant que dispositifs de marquage, en particulier dans le domaine de la logistique.
Ces étiquettes peuvent être lues au moyen d'antennes qui créent un champ radiofréquence. On peut interroger l'ensemble des étiquettes présentes dans un champ radiofréquence, ce qui permet de recenser rapidement des collections avec un grand nombre d'objets et/ou des objets de grand volume. Lorsque le système d'information comprend une description de la collection d'objet, ce qui est assez rare, on peut comparer la liste des identifiants acquis à cette description et, le cas échéant, non seulement diagnostiquer l'absence d'objet de la collection, mais également identifier les objets manquants.
Les technologies à base de systèmes d'information nécessitent toutefois des ressources réseau importantes, qui permettent d'y accéder rapidement et de manière fiable, lors de l'association des étiquettes d'une collection puis lors de chaque vérification. Ces accès à des systèmes d'information généralement distants ralentissent sensiblement le recensement. En outre, les connexions réseaux peuvent être indisponibles. Surtout, les technologies qui utilisent un système d'information exigent que ce dernier soit utilisé à la fois lors de la création informatique de la collection et à chaque recensement. Dans de nombreuses applications cependant, par exemple dans le domaine de la logistique, la création de la collection et sa vérification incombent à des acteurs différents. Et le partage d'un système d'information entre des acteurs différents pose des difficultés, souvent rédhibitoires, au moins en ce qui concerne la confidentialité des données et la gestion des droits.
Plus généralement, les technologies à base de systèmes d'information nécessitent un interfaçage à ces systèmes qui est coûteux et complexe, notamment du fait de considérations de sécurité, de stratégie et/ou juridiques.
Dans ce contexte, la demanderesse a proposé, dans FR2931613, un dispositif de surveillance d'objets physiques d'un genre nouveau. Le dispositif en question est autonome : il ne nécessite l'accès à aucune base de données. Les objets physiques d'une collection sont marqués chacun d'une étiquette radio fréquence comprenant un identifiant d'objet et des données de description de la collection, en particulier sous la forme du résultat d'une fonction de hachage appliquée sur l'ensemble des identifiants des objets de la collection.
La vérification de la collection d'objets devient un processus purement local, découplé du processus d'association des étiquettes radiofréquence. Le système est particulièrement satisfaisant. Il permet de vérifier rapidement l'intégrité d'une collection d'objets, par exemple entre un lieu d'expédition et un lieu de destination.
Cependant, il ne permet pas, du moins simplement, d'identifier d'éventuels objets manquants dans la collection.
L'invention vise à améliorer la situation. En particulier, elle cherche à proposer un système de surveillance d'objets physiques qui soit autonome, rapide, efficace et fiable, qui permette de déterminer aisément des identifiants manquants. Il s'agit en outre de minimiser la quantité de données stockées sur les étiquettes radiofréquence, en particulier sans excéder la capacité de stockage mémoire de ces étiquettes. Elle vise également un système qui soit rapide tant à l'écriture qu'à la lecture.
Le dispositif d'aide à la surveillance d'objets physiques proposé comprend des étiquettes radiofréquences à associer individuellement à une collection d'objets à fin de recensement et comprenant chacune une première zone mémoire et une seconde zone mémoire, une interface pour entrer des mots de code, un encodeur capable d'interaction avec l'interface. L'encodeur est agencé pour réagir à l'entrée d'une liste de mots de code primaires correspondant à des identifiants d'objets qui se stockent dans les premières zones mémoire des étiquettes radiofréquences en établissant une liste de mots de code secondaires correspondant à un encodage redondant des mots de code primaires, et pour écrire les mots de code secondaires de manière répartie dans les secondes zones mémoire des étiquettes radiofréquences. On propose également un dispositif d'aide à la surveillance d'objets physiques comprenant des étiquettes radiofréquences associées individuellement à une collection d'objets à fin de recensement comprenant chacune une première zone mémoire et une seconde zone mémoire, une interface pour entrer des mots de code, un décodeur capable d'interaction avec l'interface dans lequel le décodeur est agencé pour réagir à l'entrée d'une liste de mots secondaires correspondant à un encodage redondant d'une liste de mots primaires mémorisés de manière répartie dans les secondes zones mémoire des étiquettes radiofréquences en décodant la liste de mots secondaires pour en extraire la liste de mots primaires. On propose encore un procédé d'aide au recensement d'objets physiques dans lequel on associe individuellement des étiquettes radiofréquences à une collection d'objets comprenant chacune une première zone mémoire et une seconde zone mémoire, on reçoit une liste de mots de code primaires correspondant à des identifiants qui se stockent dans les premières zones mémoire des étiquettes radiofréquences, on établit une liste de mots de code secondaires correspondant à un encodage redondant des mots de code primaires, et on écrit les mots de code secondaires de manière répartie dans les secondes zones mémoire des étiquettes radiofréquences. Les dispositifs proposés fonctionnent de manière autonome, sans recours à un système d'information. Ils ne nécessitent l'accès à aucune base de données. Les identifiants d'objets et les mots de code secondaires, qui permettent le recensement des objets même en l'absence de certains d'entre eux, sont stockés de manière efficace sur les étiquettes associées à ces objets. Le stockage en question minimise l'utilisation de la mémoire des étiquettes. Ceci permet d'abord d'utiliser les étiquettes les plus simples, les moins coûteuses. Ceci permet aussi d'accélérer les étapes de lecture et d'écriture de ces étiquettes.
Les dispositifs sont également performants en ce qui concerne les opérations de décodage et d'encodage. Ceci permet le recensement efficace de larges collections d'objets.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description ci-après, et des dessins annexés, sur lesquels :
La figure 1 représente une installation d'aide au recensement d'objets physiques d'un premier type ; - La figure 2 représente une mémoire d'étiquette radio fréquence ;
La figure 3 représente un schéma fonctionnel d'un encodeur à usage par exemple dans l'installation de la figure 1 ; - La figure 4 représente un ordinogramme illustrant le fonctionnement d'un encodeur à usage par exemple dans l'installation de la figure 1 ;
Les figures 5 à 9 représentent des ordinogrammes illustrant des fonctions à usage par exemple dans l'encodeur de la figure 1 ;
La figure 10 représente un schéma illustrant une structure de stockage de données à usage par exemple dans des étiquettes radio fréquence ; Les figures 11 et 12 représentent des ordinogrammes illustrant d'autres fonctions encore à usage par exemple dans l'encodeur de la figure 1 ; - La figure 13 représente une installation d'aide au recensement d'objets physiques d'un second type ;
La figure 14 représente un ordinogramme illustrant le fonctionnement d'un encodeur à usage par exemple dans l'installation de la figure 13.
Les dessins annexés contiennent des éléments de caractère certain et pourront par conséquent non seulement servir à compléter l'invention, mais aussi contribuer à sa définition, le cas échéant. On fait référence à la figure 1.
Elle montre une collection 1 d'objets physiques référencés 3-1 à 3-6. Chacun des objets 3-1 à 3-6 est associé à une étiquette radio fréquence respective 5-1 à 5-6. Les étiquettes 5-1 à 5-6 comportent de la mémoire. Et cette mémoire stocke au moins un mot de code qui identifie l'objet 3-1 à 3-6 respectif. L'ensemble des étiquettes 5-1 à 5-6 destinées aux objets 3-1 à 3-6 de la collection 1 est appelé une collection d'étiquettes.
Telle qu'elle est représentée, la collection 1 peut correspondre, par exemple, à des objets 3-1 à 3-6 disposés sur une même palette de transport.
Une installation d'un premier type, pour aider au recensement des objets 3-1 à 3-6, comprend une ou plusieurs antennes, ici deux antennes 7-1 et 7-2, qui délimitent un champ radio fréquence 9. Les antennes 7-1 et 7-2 sont associées à un lecteur/scripteur 11 qui permet la lecture/ l'écriture de données contenues dans la mémoire d'étiquettes radio fréquence présentes dans le champ 9. Sur la figure 1 , la collection 1 d'objets physiques 3-1 à 3-6 est disposée dans le champ 9, ce qui permet au lecteur/scripteur 11 d'acquérir les mots de code de la collection d'étiquettes.
L'installation de la figure 1 comprend en outre un encodeur 13 relié au lecteur/scripteur 11 de manière à échanger des données. L'encodeur 13 est agencé pour réagir à la réception d'une liste de mots de code primaires, correspondant ici aux mots de code stockés dans les mémoires des étiquettes 5-1 à 5-6 présentes dans le champ 9, en établissant une liste de mots de code secondaires à stocker dans les mémoires de ces étiquettes 5-1 à 5-6.
L'installation de la figure 1, en particulier l'encodeur 13, sert principalement à programmer la collection d'étiquettes destinée à la collection 1 d'objets 3-1 à 3-6. Cette programmation vise à stocker efficacement, dans la mémoire des étiquettes en question, des données relatives à la collection d'objets, et, en particulier, qui permettent le recensement de la collection d'objets. Un stockage efficace minimise la quantité de mémoire utilisée dans la collection d'étiquettes, globalement. À cette fin, les données relatives à la collection d'objets, correspondant par exemple à une description des objets de cette collection, sont mémorisées de manière répartie sur les étiquettes de la collection. Un stockage efficace assure également que les données relatives à la collection puissent être lues, y compris en l'absence de certains objets de cette collection. On fait référence à la figure 2.
Elle montre en exemple une organisation de la mémoire 50 d'une étiquette radio fréquence, par exemple les étiquettes 5-1 à 5-6 de la figure 1.
La mémoire 50 comprend une première zone, ou "banque", ou zone réservée 52. La zone réservée 52 stocke des données de contrôle utiles à différentes fonctions de l'étiquette. En particulier, la zone réservée 52 mémorise des mots de passe qui protègent certaines fonctions de l'étiquette, telles que l'effacement du contenu du reste de la mémoire 50, ou sa reprogrammation par exemple. une seconde zone, ou zone EPC 54, qui stocke en particulier un code identifiant de manière unique un produit. Ce code est aussi connu sous le nom de code EPC pour "Electronic Product Code" ou code de produit électronique en français. La zone EPC 54 peut être de 96 ou 128 bits par exemple (24 ou 32 caractères en hexadécimal). une troisième zone, ou zone TID 56, qui stocke des données relatives à la fabrication de l'étiquette, par exemple un code désignant un modèle d'étiquette et un code relatif à un numéro de série. une quatrième zone, ou zone utilisateur 58, destinée aux données utilisateurs. La taille de la zone utilisateur 58 peut différer d'un modèle d'étiquette à un autre. Typiquement, cette taille est comprise entre 512 et 4096 bits (128 à 1024 caractères en hexadécimal).
Une installation d'aide au recensement d'objets physiques selon l'invention, par exemple l'installation de la figure 1, interagit principalement avec la zone EPC 54. Elle peut, en complément ou en remplacement, interagir avec la zone utilisateur 58. Telle qu'elle est présentée ici, la mémoire 50 correspond par exemple à la mémoire d'une étiquette normalisée de type EPC classe 1, seconde génération. Il s'agit d'un type d'étiquettes passif, de conception simple et de mémoire limitée et faible, ce qui la rend très peu coûteuse. On fait référence à la figure 3.
Elle montre un dispositif 90 utilisable par exemple pour l'encodeur 13 de la figure 1. Le dispositif 90 comprend un calculateur 92, une interface d'entrée/sortie 94 avec laquelle le calculateur 92 est susceptible d'interagir. Le dispositif 90 comprend en outre de la mémoire 96 avec laquelle le calculateur 92 peut interagir pour lire, écrire et traiter des données.
L'interface 94 permet la réception et l'émission de données, en particulier sous la forme de mots de code. L'interface 94 peut être reliée à un lecteur et/ou à un scripteur d'étiquettes radio fréquence pour recevoir et/ou écrire des mots de code dans la mémoire d'étiquettes radio fréquence, par exemple le lecteur/scripteur 11 de la figure 1.
Le calculateur 92 est capable d'exécuter des fonctions de traitement sur des mots de code reçus. On fait référence à la figure 4.
Pour programmer une collection d'étiquettes radio fréquence, par exemple les étiquettes 5-1 à 5-6 de la figure 1, on commence par acquérir une liste de mots de code primaires qui correspond aux identifiants d'objets mémorisés dans les étiquettes radio fréquence de la collection, typiquement dans une zone analogue à la zone EPC 54. Ceci correspond au bloc 40 sur la figure 4. Par exemple, chaque mot de code primaire correspond à un code EPC décrit plus haut en relation avec la figure 2, ou à une partie au moins d'un tel code, correspondant par exemple aux parties du code identifiant le fabricant du produit et le numéro de série de ce dernier.
Il s'agit ensuite de déterminer des paramètres d'encodage, ce qui correspond au bloc 42 de la figure 4. Les paramètres d'encodage comprennent un nombre de mots de code secondaires, résultants de l'encodage d'identifiants d'objets d'une collection, et une fonction d'encodage à appliquer à ces identifiants.
Le nombre de mots de code secondaires est tel qu'une collection d'objets puisse être recensée même en cas d'imperfection de lecture. L'imperfection en lecture peut être exprimée sous la forme d'un taux de lecture qui s'apparente à une fiabilité dans le processus de lecture de la collection d'étiquettes. Il peut être fixé de manière à prendre en compte non seulement la fiabilité des dispositifs de lecture mais aussi des difficultés de lecture liées à l'agencement relatif des objets de la collection. Le taux de lecture peut être déterminé par expérience par exemple, ou fixé de manière absolument pessimiste, par exemple à 80%.
Cet ordre des blocs 40 et 42 est plus particulièrement adapté au cas où les identifiants des objets sont acquis (lus) des étiquettes pour encodage, par exemple au moyen par exemple au moyen du dispositif de la figure 1.
L'ordre en question peut être inversé, en particulier lorsque les identifiants des objets sont obtenus autrement, par exemple saisis manuellement. Dans ce cas, les étiquettes peuvent être programmées en une même phase avec les identifiants d'objets et les mots de code secondaires.
Vient ensuite l'encodage de la liste de mots de code primaires en une liste de mots de code secondaires. Ceci est représenté par le bloc 44. Les mots de code secondaires sont stockés de manière répartie dans la mémoire des étiquettes de la collection. Ceci est représenté par le bloc 46. Les mots de code secondaires sont mémorisés distinctement des mots de code primaires. Chaque étiquette de la collection mémorise finalement un mot de code primaire et une partie des mots de code secondaires. Les mots de code secondaires peuvent, pour certains au moins, être stockés dans une zone analogue à la zone EPC 54 de la figure 54, en particulier dans le cas où cette zone EPC 54 stocke un mot de code primaire de taille inférieure à la taille de la zone EPC 54. C'est le cas par exemple lorsqu'on utilise une partie seulement du code EPC en tant que mot de code primaire. Ceci permet de lire rapidement les mots de code primaires et les mots de code secondaires d'une collection d'étiquettes. Les mots de code secondaires peuvent, en complément ou en remplacement, être stockés dans une zone analogue à la zone utilisateur 58 de la figure 2. La répartition des seconds mots de code dans les mémoires des étiquettes de la collection est telle qu'elle minimise l'utilisation de mémoire tout en permettant le recensement d'étiquettes manquantes. On fait référence à la figure 5.
Elle montre une fonction capable de déterminer un nombre de mots de contrôle en fonction du nombre d'étiquettes d'une collection, par exemple les six étiquettes 5-1 à 5-6 de la figure 1 , et d'un taux de lecture associé aux dispositifs utilisés ultérieurement. La fonction de la figure 5 peut être implémentée dans un encodeur analogue à l'encodeur 13 de la figure 1. Par exemple, elle peut être exécutée par un calculateur analogue au calculateur 92 de la figure 3.
La fonction débute en une étape 500. A l'étape suivante 502, la fonction reçoit une valeur entière correspondant au nombre d'étiquettes d'une collection, ou nombre BtchSze, et une valeur réelle indiquant un taux de lecture minimal, ou taux RdRte, des dispositifs de lecture. À l'étape suivante 504, la fonction attribue, en tant que valeur entière correspondant au nombre de mots de contrôle, ou nombre ChkWdNr, la valeur entière du rapport du nombre BtchSze sur le taux RdRte. Et la fonction s'achève à l'étape suivante 506.
Les mots de contrôle sont plus nombreux que les mots de code primaires. Le nombre ChkWdNr garantit qu'un dispositif de lecture disposant d'un taux de lecture supérieur au taux RdRte peut lire au moins un nombre de mots de contrôle supérieur ou égal au nombre BtchSze.
La valeur du taux RdRte peut être déterminée à partir de recensements préalablement réalisés avec des collections d'étiquettes similaires, typiquement comprenant le même nombre d'étiquettes et de configuration analogue. Cette valeur est de préférence établit de manière pessimiste. Le nombre ChkWdNr correspond à une valeur-seuil, qui minimise l'utilisation des mémoires des étiquettes d'une collection : avec un nombre de mots de contrôle inférieur à la valeur du nombre ChkWdNr, il n'est pas possible de décoder les mots de code primaires, et ainsi de déterminer les étiquettes manquantes ou non lues.
Toujours dans la phase de détermination des paramètres d'encodage, on détermine une fonction d'encodage. On utilise une fonction d'encodage redondante, qui permet d'encoder une liste de mots de code primaires en une liste de mots de code secondaires, plus nombreux, de manière telle que la liste de mots de code primaires puisse être retrouvée en lisant un sous-ensemble quelconque de la liste de mots secondaires correspondant à un nombre minimal d'étiquettes. On utilise une fonction d'encodage basée sur un code de la famille dite "MDS", pour "Minimum Distance Separable". Dans l'exemple décrit ici on utilise une fonction d'encodage basée sur un code Reed Solomon, qui optimise l'utilisation de la mémoire. D'autres codes de cette famille peuvent également être mis en œuvre.
On fait référence à la figure 6.
Elle montre une fonction qui détermine les paramètres d'une fonction d'encodage de type Reed-Solomon à base matricielle.
La fonction débute en une étape 600. A l'étape suivante 602, la fonction reçoit, en tant que paramètres, une valeur entière correspondant à un nombre de mots à encoder, ou valeur Wd2CdNr, et une valeur entière correspondant à un nombre de mots codés, résultants de l'encodage, ou valeur NcdWdNr.
Selon un premier mode de réalisation, la fonction d'encodage est destinée à être appliquée aux mots de code primaires, après conversion en valeurs entières. La valeur Wd2CdNr correspond aux nombre de mots de primaires. Le nombre de mots codé NcdWdNr correspond au nombre de mots de contrôle, typiquement le nombre ChkWdNr de la figure 5. Selon un second mode de réalisation, l'encodage des mots de code primaires comprend, préalablement à l'application de la fonction d'encodage, une opération de décomposition de ces mots, après conversion en valeurs entières, en fragments de même taille. La valeur Wd2CdNr correspond au nombre de fragments de mots de code primaires. Le nombre de mots codé NcdWdNr correspond au nombre de mots de contrôle, typiquement le nombre ChkWdNr de la figure 5, multiplié par le taux de fragmentation des mots de code primaires.
A l'étape suivante 604, la fonction commence une boucle en initialisant un compteur i à la valeur nulle. La fonction déclare et initialise une matrice d'encodage, sous la forme d'un tableau NcdMtx[..] dont le nombre d'éléments correspond à la valeur NcdWdNr. Chaque élément du tableau NcdMtx[..] comprend un tableau dont le nombre d'éléments correspond à la valeur Wd2CdNr. Tous les éléments du tableau NcdMtx[..] sont mis à la valeur nulle.
A l'étape suivante 606, la fonction attribue la valeur 1 ("un") à l'élément d'index i du tableau d'index i du tableau NcdMtx. A l'étape suivante 608, la fonction incrémente le compteur i. A l'étape suivante 610, la fonction vérifie si le compteur i a atteint sa valeur finale, laquelle correspond à la valeur Wd2CdNr. Si oui, alors la fonction se poursuit à l'étape suivante 612. Sinon la fonction retourne à l'étape 606.
Il résulte des étapes 604 à 610 un tableau NcdMtx[..] qui correspond à une matrice identité dont la dimension correspond à la valeur Wd2CdNr. A l'étape 612, la fonction commence une seconde boucle en initialisant un second compteur j à la valeur nulle. A l'étape suivante 614, la fonction attribue à l'élément d'index j du tableau d'index i tableau NcdMtx[..] une valeur correspondant à l'inverse de la somme des valeurs du premier compteur i et du second compteur j. Cet élément du tableau est calculé en tant qu'élément de la matrice de Hilbert.
A l'étape suivante 616, la fonction incrémente le second compteur j. A l'étape suivante 618, la fonction vérifie que le second compteur j a atteint sa valeur finale, laquelle correspond à la valeur Wd2CdNr. Si oui, alors à l'étape suivante 620, la fonction incrémente le premier compteur i. Sinon la fonction retourne en l'étape 614. A l'étape 622 qui suit l'étape 620, la fonction vérifie que le premier compteur i a atteint sa valeur finale, laquelle correspond au nombre NcdWdNr. Si oui, alors la fonction s'achève à l'étape suivante 624. Sinon la fonction retourne à l'étape 612.
Il résulte de la fonction ci-dessus un tableau NcdMtx[..] qui correspond à une matrice dont le nombre de colonnes correspond à la valeur entière Wd2CdNr et le nombre de lignes à la valeur entière NcdWdNr. Chaque colonne de cette matrice est linéairement indépendante des autres. La matrice en question peut être vue comme la division d'une matrice identité dont la dimension correspond à la valeur Wd2CdNr par une matrice de Hilbert. Il résulte de la matrice identité une fonction d'encodage systématique : la liste des mots à encoder se retrouve comprise dans la liste des mots codés. Toutes les matrices carrées de la matrice résultante sont non singulières.
La construction d'une fonction d'encodage systématique telle qu'elle est décrite ici accélère les opérations d'encodage et d'écriture de mots de code secondaires dans les mémoires des étiquettes d'une collection. Certains de ces mots de code secondaires correspondent à un mot de code primaire. Ces mots de code secondaires systématiques sont déjà mémorisés dans les étiquettes. Seuls les autres, que l'on peut voir comme des codes de redondance ou de contrôle, vont être mémorisés, de manière répartie, dans les mémoires des étiquettes de la collection. On diminue ainsi la quantité de mémoire nécessaire, en particulier lorsqu'on utilise les codes de la mémoire EPC en tant que mots de code primaires. Un encodage systématique peut être construit dynamiquement. Ici par exemple les principaux paramètres d'encodage sont déterminés en temps réel, en fonction de la collection des étiquettes à programmer.
On peut également construire une fonction d'encodage non systématique en utilisant les matrices de Vandermonde ou de Cauchy. Les fonctions d'encodage basées sur les codes Reed-Solomon systématiques sont particulièrement adaptées au contexte des étiquettes radio fréquence puisqu'elles utilisent des matrices génératrices qui peuvent être créées et inversées informatiquement plus facilement que les codes non systématiques. Ceci diminue les temps d'encodage et de décodage. En outre, l'implémentation du code Reed Solomon sous une forme systématique évite d'avoir à écrire les mots de code primaires dans les étiquettes. En particulier les codes EPC sont généralement imposés par l'application. Cela permet finalement de réduire la quantité de mémoire nécessaire et le temps d'encodage. II s'agit maintenant d'acquérir les identifiants d'objets mémorisés dans les étiquettes d'une collection. Ces identifiants sont mémorisés sous la forme de mots de code dans de premières zones mémoire des étiquettes. Il s'agit typiquement des codes mémorisés dans des zones analogues aux zones EPC 54 décrites en relation avec la figure 2, ou du moins d'une partie de chacun de ces codes.
On fait référence à la figure 7.
La fonction débute par une étape 700. A l'étape suivante 701, la fonction reçoit une liste d'identifiants d'étiquettes, laquelle correspond aux étiquettes de la collection. Typiquement cette liste est reçue d'un lecteur d'étiquettes actif dans une zone où la collection d'objets se trouve, par exemple le lecteur/scripteur 11 de la figure 11 actif dans le champ 9. L'identifiant d'étiquette correspond typiquement à un code mémorisé dans une zone mémoire de l'étiquette analogue à la zone TID 56 de la figure 2. Ici, les identifiants d'étiquettes sont mémorisés dans un tableau Tgld[..]. À l'étape suivante 702, la fonction détermine une valeur entière correspondant au nombre d'étiquettes de la collection, ou valeur BtchSze. Cette valeur BtchSze correspond au nombre d'éléments mémorisés dans le tableau Tgld[..].
A l'étape suivante 704, la fonction commence une boucle en initialisant un compteur i à la valeur nulle. À l'étape suivante 706, la fonction reçoit un mot de code, CdWd i, correspondant à l'identifiant d'objet mémorisé dans l'étiquette identifiée par la valeur d'index i du tableau Tgld[..]. Par exemple, le mot de code correspondant est reçu à l'interface d'entrée/sortie analogue à l'interface 96 de la figure 3.
À l'étape suivante 708, le mot de code CdWd i reçu est stocké en tant qu'élément d'index i dans un tableau CdWd[..]. Le tableau CdWd[..] correspond à une liste de mots de code correspondant chacun à un identifiant d'objet de la collection. A l'étape suivante 710, la fonction incrémente le compteur i. A l'étape suivante 712, la fonction vérifie que le compteur i a atteint sa valeur finale, laquelle correspond à la valeur BtchSze. Si oui, alors la fonction s'achève à l'étape suivante 714. Sinon la fonction retourne à l'étape 706 où elle reçoit un nouveau mot de code correspondant à un identifiant d'une autre étiquette de la collection.
Le dispositif d'encodage, par exemple l'encodeur 13 de la figure 1, encode une liste de mots de code primaires correspondant aux identifiants d'objets des étiquettes radio fréquence de la collection, ce qui correspond au bloc 44 sur la figure 4. De manière générale, il s'agit d'appliquer une fonction d'encodage préalablement déterminée, par exemple la fonction illustrée en figure 6, à la liste d'identifiants pour obtenir une liste, plus longue, de mots de code secondaires.
On fait référence à la figure 8. Elle montre une fonction capable d'appliquer une fonction d'encodage construite sous une forme matricielle, par exemple la fonction décrite plus haut en relation avec la figure 6.
La fonction débute en une étape 800. A l'étape suivante 802, la fonction reçoit, en tant que paramètres, une liste de valeurs entières correspondant à des mots à encoder, ici sous la forme d'un tableau Wd2Cd[..], et une fonction d'encodage, ici sous forme matricielle, typiquement le tableau NcdMtx[..] décrit plus haut. À l'étape suivante 804, la fonction effectue une multiplication du tableau Wd2Cd[..] par le tableau NcdMtx[..]. Ceci correspond à une multiplication d'un vecteur rassemblant les identifiants d'étiquettes par la matrice d'encodage. Le résultat est mémorisé dans un tableau NcdWd[..] dont la dimension correspond à la valeur NcdWdNr et qui rassemble des valeurs entières correspondant à une liste de mots de code secondaires. Ces valeurs entières résultantes sont converties en une suite de caractères hexadécimaux avant d'être stockées dans un tableau résultat. La fonction se termine à l'étape suivante 806.
Les mots de code primaires identifiant les objets de la collection sont généralement récupérés sous la forme d'une suite de caractères hexadécimaux. Les mots de code primaires sont convertis en valeur entière préalablement à l'encodage.
Dans le premier mode de réalisation, il résulte de la multiplication de l'étape 804 un tableau NcdWd[..] dont la dimension correspond à la valeur ChkWdNr et qui rassemble une liste de mots de code secondaires, notés génériquement CdWd i pour l'élément d'index i dans le tableau.
Dans ce premier mode de réalisation, l'encodage implique des calculs sur des valeurs entières de taille importante.
Dans le second mode de réalisation, la fragmentation est opérée préalablement à l'application de la matrice d'encodage, ce qui améliore les performances de calcul. De préférence, la taille de ces fragments est déterminée de manière que les mots de code résultants soient de même taille que les fragments. On construit avantageusement un champ de Gallois. Par exemple, chaque fragment peut comprendre trois chiffres. Chaque mot de code primaire identifiant un objet de la collection, par exemple le mot CdWd[i], est converti en une valeur entière. Cette valeur entière est décomposée en une liste de valeurs entières, de trois chiffres chacune. La liste des mots de code primaires se trouve ainsi transformée en une liste de valeurs entières de trois chiffres. Ces valeurs à trois chiffres forment les mots à coder, par exemple les mots du tableau Wd2Cd[..] de la figure 8. Il en résulte, après conversion en suites de caractères hexadécimaux, une liste de mots de code secondaires, chacun de trois caractères.
Outre les performances d'encodage, la fragmentation facilite la répartition des mots de code secondaires dans les mémoires des étiquettes. Le dispositif d'encodage organise ensuite le stockage d'une liste de mots de code secondaires, de manière répartie, dans les mémoires des étiquettes de la collection. Il s'agit en outre d'y mémoriser des paramètres nécessaires au décodage. Le stockage des mots de code secondaires et des paramètres de décodage se fait de manière efficace, en minimisant la consommation de mémoire et le temps d'écriture. Le stockage se fait dans de secondes zones mémoires des étiquettes de la collection. Selon un aspect de l'invention, les seconds mots de code et/ou les paramètres de décodage sont mémorisés dans une partie d'une zone analogue à la zone EPC décrite en relation avec la figure 2 laissée libre par un mot de code primaire. Une fois la mémoire de la zone EPC pleine, on peut mémoriser des mots de code secondaires restants dans une zone analogue à la zone utilisateur 58 de la figure 2.
Les mots de code secondaires, en particulier ceux correspondant à des codes de contrôle, sont mémorisés dans les limites des capacités mémoire des étiquettes, ce qui évite un ajout d'étiquettes à la collection.
Dans le cas d'une fonction d'encodage systématique, seuls les mots de code secondaires correspondant à des codes de contrôles sont répartis dans les mémoires des étiquettes de la collection. La répartition tient compte du nombre d'étiquettes de la collection. Après programmation, chaque étiquette de la collection mémorise un mot de code systématique, typiquement dans une zone analogue à la zone EPC 54 de la figure 2, et une partie des codes de contrôle, typiquement dans la partie restante de la zone EPC ou dans une zone analogue à la zone utilisateur 58 de la figure 2. On fait référence à la figure 9.
Elle montre une fonction capable de procéder à la répartition d'une liste de mots de code sur des zones mémoire d'étiquettes d'une collection d'objets.
La fonction débute en une étape 900. A l'étape suivante 902, la fonction reçoit, en tant que paramètres, une valeur entière correspondant au nombre d'objets de la collection, ou nombre BtchSze, et une valeur entière correspondant au nombre de mots de code à répartir, ou valeur Wd2TrNr. Ici, la valeur Wd2TrNr correspond au nombre de mots de code secondaires à répartir, par exemple le nombre d'éléments du tableau NcdWd[..] de la figure 8.
A l'étape suivante 904, la fonction calcule le nombre de mots de code à stocker par étiquette, ou nombre CdWdNrPerTg, comme la valeur entière du rapport du nombre de mots Wd2TrNr sur le nombre BtchSze.
La fonction se termine à l'étape suivante 906. II convient maintenant d'écrire les mots de code secondaires dans les étiquettes de la collection avec les valeurs de paramètres nécessaires au décodage.
On fait référence à la figure 10. Elle montre une structure de données adaptée à une zone mémoire d'étiquettes, par exemple dans une zone analogue à la zone EPC 54, et/ou la zone utilisateur 58 le cas échéant.
Les données sont transformées en une chaîne de caractères 100. Les caractères de la chaîne 100 sont typiquement hexadécimaux, de sorte que la chaîne de caractères 100 peut être traitée par scripteur d'étiquettes radiofréquence, par exemple le lecteur/scripteur 11 de la figure 1. La chaîne de caractères 100 comprend un premier segment correspondant à un ou plusieurs mots de code secondaires, ou chaîne de codes 104, et un second segment correspondant à des données de contrôle, ou chaîne de contrôle 102. Les données de la chaîne de contrôle 102 comprennent notamment des valeurs de paramètres destinées au décodage des mots de la chaîne de codes 104. Ici, la chaîne de codes 104 vient à la suite de la chaîne de contrôle 102.
On fait référence à la figure 11.
Elle montre une fonction qui transcrit des données de contrôle, utiles au décodage des mots de code secondaires, sous la forme d'une chaîne de caractères, par exemple pour le segment de contrôle 102 de la figure 10. La fonction débute en une étape 1100. A l'étape suivante 1102, la fonction reçoit l'identifiant d'une étiquette de la collection, noté génériquement Tgld k. A l'étape suivante 1104, la fonction initialise une variable CrtlStrg de type chaîne de caractères. La chaîne CrtlStrg est vide. A l'étape suivante 1106, la fonction ajoute (concaténation) à la chaîne CrtlStrg une valeur entière correspondant au rang du mot de code primaire correspondant à Tgld k. Dans le cas d'une fonction d'encodage matricielle, la valeur du rang correspond au rang d'une colonne de la matrice d'encodage. Cette valeur correspond par exemple à la valeur d'index (+1) du mot de code primaire dans la liste de mots de code primaires. Le cas échéant, elle correspond également à la valeur d'index de l'identifiant considéré dans le tableau des identifiants Tgld. À l'étape suivante 1108, la fonction ajoute à la chaîne CrtlStrg une valeur entière correspondant au nombre d'étiquettes de la collection, ou nombre BtchSze, multipliée par un taux de lecture, ou taux RdRte. Cette valeur correspond au nombre minimum d'étiquettes à identifier pour permettre un décodage des identifiants. A l'étape suivante 1110, la fonction ajoute à la chaîne CrtlStrg une valeur entière correspondant au nombre BtchSze. Cette valeur correspond à un nombre minimal de mots de code nécessaires au décodage. À l'étape suivante 1112, la fonction ajoute à la chaîne CrtlStrg une valeur entière correspondant au nombre de mots de code secondaire, en particulier de contrôle, mémorisés dans l'étiquette. Cette valeur correspond par exemple à la valeur CdWdNrPerTg calculée par la fonction de la figure 9. Typiquement, la chaîne CrtlStrg correspond au tronçon de contrôle 102 décrit en relation avec la figure 10. A l'étape suivante 1114, on mémorise une relation entre l'identifiant Tgld k et la chaîne CrtlStrg en vue d'une écriture ultérieure.
La fonction s'achève à l'étape suivante 1116. On fait référence à la figure 12.
Elle montre une fonction qui répartit une liste de mots de code, ici une partie au moins de la liste des mots de code secondaires, en plusieurs chaînes de caractères, analogues chacune au segment de codes 104 de la figure 10 par exemple.
La fonction débute en une étape 1200.
A l'étape suivante 1202, la fonction reçoit une liste de mots de code à transcrire, notée ici Wd2Tr[..].
Dans un mode de réalisation général, la liste Wd2Tr[..] correspond à la liste des mots de code secondaires, par exemple résultant de la liste NcdWd[..] de la figure 8.
Dans un mode de réalisation où l'encodage des mots de code primaires est systématique, la liste Wd2Tr[..] correspond aux mots de code secondaires qui ne correspondent à aucun mot de code primaire. Ici, l'ordre des mots de code secondaires dans la liste Wd2Tr[..] est identique à celui de la liste des mots de code secondaires. La fonction reçoit également une valeur entière CdWdNrPerTg représentative d'un nombre de mots de code à stocker par étiquette. Elle reçoit également une liste ordonnée d'identifiants d'étiquettes, analogue à la liste Tgld[..]. Aux étapes suivantes 1204, 1206 et 1208, la fonction débute des structures de boucle en initialisant à la valeur nulle un premier compteur k, un second compteur i et troisième compteur j, respectivement. A l'étape suivante 1210, la fonction initialise une variable TrWdStrg de type chaîne de caractères. A l'étape 1212, la fonction concatène la chaîne TrWdStrg, le mot de code secondaire d'index i dans la liste Wd2Tr[..], et une chaîne de caractères str(rnk(i)) représentant le rang du mot de code secondaire. De manière générale, le rang du mot de code secondaire correspond à la valeur de son index dans la liste qui résulte de l'encodage des mots de code primaires, typiquement la liste NcdWd[...] de la figure 8. Dans le mode de réalisation général, le rang en question correspond à l'index du mot dans la liste Wd2Tr[..], soit la valeur i ici. Dans le mode de réalisation particulier où l'on transcrit uniquement les mots de code secondaires correspondant à des codes de redondance, le rang en question correspond à la valeur de i à laquelle s'ajoute le nombre de mots de code secondaires correspondant à un mot de code primaire. À l'étape suivante 1214, le second compteur i est incrémenté.
L'étape suivante 1216 teste si le premier compteur i a atteint la valeur finale qui correspond au nombre de mots de code de la liste Wd2Tr[..]. Si oui, alors la fonction retourne à l'étape 1206 où le compteur i est réinitialisé.
Sinon, à l'étape suivante 1222, on incrémenté le troisième compteur j. Et à l'étape suivante 1224, on teste si le second compteur j a atteint la valeur finale CdWdNrPerTg représentant le nombre de mots de code de contrôle à écrire dans la mémoire de chaque étiquette.
Si oui, alors la fonction passe à une étape suivante 1226 où elle commande l'écriture d'une chaîne de caractères analogue à la chaîne CrtlStrg décrite en relation avec la figure 11 et de la chaîne TrWdStrg résultante dans la mémoire de l'étiquette concernée dont l'identifiant se trouve en Tgld[k] Sinon la fonction retourne à l'étape 1212.
A l'étape 1228 qui suit l'étape 1226, on incrémenté le premier compteur k, avant de tester à l'étape suivante 1230 si ce second compteur k a atteint sa valeur finale qui correspond au nombre BtchSze d'étiquettes dans la collection. Si oui, alors la fonction s'arrête à l'étape suivante 1220. Sinon la fonction retourne à l'étape 1208.
Le test de l'étape 1216 assure qu'une chaîne TrWdStrg soit écrite dans chacune des étiquettes de la collection.
On fait référence à la figure 13.
Elle montre un dispositif d'aide à la surveillance de collections d'objets physiques d'un second type. L'installation de la figure 13 est destinée principalement au contrôle d'intégrité et au recensement d'objets physiques d'une collection. Il s'agit ici de recenser la collection 1 des objets physiques 3-1 à 3-6 de la figure 1 pour détecter l'absence de l'un des objets physiques, ici l'objet 3-3.
L'installation de la figure 13 comprend des éléments analogues à la figure 1 qui ne sont pas décrits. Par rapport au dispositif de la figure 1 , l'installation comporte ici un lecteur d'étiquettes radio fréquence 15 en remplacement du lecteur/scripteur 11. Le lecteur 15 est relié à un décodeur 17 qui remplace lui l'encodeur 13.
On fait référence à la figure 14.
Le décodeur 17 reçoit une liste de codes correspondant à des identifiants d'étiquettes lues dans le champ 9 (bloc 140). Pour chaque étiquette, il s'agit de lire en outre les mots de code primaires identifiant un objet de la collection, typiquement mémorisés dans des zones analogues aux zones EPC 54 et, le cas échéant, les chaînes de caractères stockées en plus dans ces zones EPC 54 et/ou utilisateurs 58. Il s'agit notamment de chaînes analogues aux chaînes de contrôle et aux chaînes de code de la figure 10. Cette phase correspond en substance à une lecture classique d'étiquettes radio fréquences. La phase suivante, représentée par le bloc 142, correspond à la récupération d'une liste ordonnée de mots de code secondaires depuis les chaînes de caractère supplémentaires. Les mots de code des chaînes de caractère sont ordonnés selon le schéma mémorisé dans les données de paramètres stockées également les étiquettes. Dans le cas d'un encodage systématique, la liste est établie en complétant la liste de mots de code primaires (obtenus dans le bloc 140). On obtient finalement une liste de mots de codes secondaires.
La phase suivante, représentée par le bloc 44, correspond essentiellement au décodage des mots de code secondaires afin de recouvrer une liste d'identifiants d'objets. Le décodage se fait principalement en inversant une sous-matrice de la matrice générée précédemment. Cette sous-matrice est formée par les lignes (de la matrice génératrice) qui correspondent au rang des mots de contrôle récupérés (par les blocs 140 et 142). La comparaison des codes primaires lus à la liste des identifiants d'objets permet d'identifier les objets manquants.
L'invention n'est pas limitée aux modes de réalisation décrits plus haut, à titre d'exemple uniquement. En particulier : On a principalement décrit l'utilisation des codes EPC en tant que mots de code primaires identifiant les objets de la collection mais d'autres codes peuvent être utilisés. Ces codes peuvent le cas échéant être générés par l'encodeur et inscrits dans les étiquettes. Le dispositif selon l'invention peut en outre être agencé pour compléter les données mémorisées dans les étiquettes de la collection par toutes données intéressant la collection d'objet directement ou son recensement. Ces données peuvent comprendre par exemple des indications sur la localisation des étiquettes sur les objets physiques pour aider à la lecture des étiquettes et/ou diagnostiquer une erreur de lecture. Ces données peuvent être stockées de manière dupliquée sur chaque étiquette de la collection, ou répartie sur ces étiquettes à la façon de ce qui a été décrit pour les mots de code secondaires, le cas échéant avec redondance. Le dispositif décrit permet d'identifier des étiquettes non lues, correspondant à l'absence d'un objet ou à une erreur de lecture. Il utilise les codes contenus dans les étiquettes lues pour reconstruire une description de la collection. En particulier dans le mode de réalisation comprenant un encodage systématique des mots de code primaires, le dispositif peut être sensible à la présence dans la zone de vérification d'étiquettes étrangères à la collection d'objets, du moins à l'association des étiquettes qui en résulte. On pourra mettre avantageusement en œuvre les enseignements de FR2931613 mentionné plus haut qui permettent de vérifier préalablement l'intégrité de la collection d'étiquettes lues .
L'invention a été décrite sous la forme d'un dispositif d'aide à la surveillance d'objets physiques. Cependant, les exemples décrits plus haut permettent la mise en œuvre de dispositifs d'applications différentes. En effet, l'invention trouve un intérêt dès lors qu'il existe un risque d'erreur de lecture d'une étiquette parmi une collection d'étiquettes partageant des données utiles. Dès lors l'invention pourrait s'exprimer sous la forme d'un dispositif de contrôle de données dans une collection d'étiquettes radio fréquences comprenant chacune une première zone mémoire et une seconde zone mémoire. Le dispositif comprend une interface pour entrer des mots de code et un encodeur capable d'interaction avec l'interface. L'encodeur est agencé pour réagir à l'entrée d'une liste de mots de code primaires correspondant à des données utiles qui se stockent dans les premières zones mémoire des étiquettes radio fréquences en établissant une liste de mots de code secondaires correspondant à un encodage redondant des mots de code primaires, et pour écrire les mots de code secondaires de manière répartie dans les secondes zones mémoire des étiquettes radio fréquences.
On a décrit une fonction d'encodage à base d'une matrice génératrice. Cette forme de réalisation présente des performances élevées. Elle est aisément paramétrable en fonction du nombre de mots de codes primaires à encoder. Elle s'adapte facilement à des collections de taille différentes les unes des autres. Dans de nombreuses applications, cette forme de réalisation matricielle se révèle ainsi la plus performante qu'une fonction d'encodage à base polynomiale. Cette dernière peut néanmoins être utilisée. En particulier, elle peut se révéler plus efficace que la forme matricielle pour être implémentée sous la forme d'un circuit dédié à l'encodage.
Les codes Reed-Solomon peuvent être implémentés sur la base d'un polynôme générateur, au lieu de la matrice génératrice comme décrit plus haut. On construit un polynôme générateur qui sert à l'encodage et au décodage des mots de code primaires.
La construction du polynôme générateur : on se donne un champ de Galois GF (a ) de taille aw, où a représente une racine primitive (un nombre premier), et w un entier positif, pour construire un code RS(n,k) où k représente le nombre de mots de code primaires et n le nombre de mots de code secondaires. On construit un polynôme générateur g(x) de degré m égal à n moins k comme suit :
Figure imgf000028_0001
L'encodage des mots de code primaires :
on construit un polynôme d(x) de degré k-1 représentant les mots de code primaires comme suit :
Figure imgf000028_0002
où di représente la donnée en entrée (mot de donnée) de rang i ;
on multiplie d(x) par xAm ;
on calcule le reste de la division du produit par le polynôme générateur g(x). Ce reste est nécessairement de taille m et représente les mots de code de contrôle.
Le décodage des mots de code secondaires :
On construit un système D de polynômes d'évaluation d'erreur de taille m=n-k. Chaque polynôme est défini comme suit : jE {0,..,m-l } et i le rang des données récupérées (non perdues) avec 0<i<n ;
On construit une matrice de Vandermonde carrée V(m) de taille m, de racine a et dont chaque colonne est multipliée par aAq, où q correspond au rang d'un mot de données perdu (les mots de données perdus sont classés dans un ordre croissant selon leur rang) ;
On résout le système linéaire V(m)xP=D, où P représente le vecteur des données perdues.

Claims

Revendications
1. Dispositif d'aide à la surveillance d'objets physiques comprenant :
- des étiquettes radio fréquences (5-1 ... 5-5) à associer individuellement à une collection (1) d'objets (3-1 ... 3-5) à fin de recensement et comprenant chacune une première zone mémoire (54) et une seconde zone mémoire (54; 58) ;
- une interface (94) pour entrer des mots de code ;
- un encodeur (13) capable d'interaction avec l'interface (94) ;
caractérisé en ce que :
- l'encodeur (13) est agencé pour réagir à l'entrée d'une liste de mots de code primaires correspondant à des identifiants d'objets qui se stockent dans les premières zones mémoire (54) des étiquettes radio fréquences (5-1 ... 5-5) en établissant une liste de mots de code secondaires correspondant à un encodage redondant des mots de code primaires, et pour écrire les mots de code secondaires de manière répartie dans les secondes zones mémoire (54; 58) des étiquettes radio fréquences (5-1 ... 5-5).
2. Dispositif selon la revendication 1, dans lequel la liste des mots de code secondaires comprend des mots correspondant à certains au moins des mots de code primaires de la liste, et les autres mots de code secondaires de la liste correspondent à des codes de contrôle.
3. Dispositif selon l'une des revendications 1 et 2, dans lequel les mots de code secondaires résultent de l'application d'une fonction de correction d'erreurs par blocs à taux fixe sur la liste de premiers mots.
4. Dispositif selon l'une des revendications précédentes, dans lequel les mots de code secondaires résultent de l'application d'une fonction d'encodage basée sur un code MDS sur la liste des mots de code primaires.
5. Dispositif selon la revendication 4, dans lequel la fonction d'encodage implémente un code Reed-Solomon.
6. Dispositif selon la revendication 5, dans lequel le code Reed-Solomon est implémenté à l'aide d'une matrice génératrice.
7. Dispositif selon l'une des revendications précédentes, dans lequel les mots de code primaires correspondent au moins partiellement à des mots de code stockés dans une zone EPC des étiquettes.
8. Dispositif selon l'une des revendications précédentes, dans lequel la répartition des mots secondaires dans les secondes mémoires est déterminée en fonction d'un taux de fiabilité de lecture des étiquettes.
9. Dispositif selon l'une des revendications précédentes, dans lequel les premières zones mémoires et une partie au moins des secondes zones mémoires correspondent à des zones de type EPC.
10. Dispositif selon l'une des revendications précédentes, dans lequel l'encodeur est agencé pour fragmenter les premiers mots de code en une pluralité de mots de code intermédiaires et dans lequel l'encodeur comprend un module d'encodage qui opère sur la pluralité de mots de code intermédiaires pour obtenir les mots de code secondaires.
11. Dispositif d'aide à la surveillance d'objets physiques comprenant :
des étiquettes radio fréquences (5-1 ... 5-5) associées individuellement à une collection (1) d'objets (3-1 ... 3-5) à fin de recensement comprenant chacune une première zone mémoire (54) et une seconde zone mémoire (54; 58) ;
- une interface (94) pour entrer des mots de code ;
- un décodeur (17) capable d'interaction avec l'interface ;
caractérisé en ce que :
le décodeur (17) est agencé pour réagir à l'entrée d'une liste de mots secondaires correspondant à un encodage redondant d'une liste de mots primaires mémorisés de manière répartie dans les secondes zones mémoire (54; 58) des étiquettes radio fréquences (5-1 ... 5-5) en décodant la liste de mots secondaires pour en extraire la liste de mots primaires.
12. Procédé d'aide au recensement d'objets physiques comprenant les étapes suivantes :
- associer individuellement des étiquettes radio fréquences (5-1 ... 5-5) à une collection (1) d'objets (3-1 ... 3-5) comprenant chacune une première zone mémoire (54) et une seconde zone mémoire (54;58) ;
- recevoir une liste de mots de code primaires correspondant à des identifiants qui se stockent dans les premières zones mémoire (54) des étiquettes radio fréquences (5-1 ... 5-5);
établir une liste de mots de code secondaires correspondant à un encodage redondant des mots de code primaires;
écrire les mots de code secondaires de manière répartie dans les secondes zones mémoire des étiquettes radio fréquences.
PCT/FR2016/050847 2015-04-15 2016-04-13 Dispositif d'aide au recensement d'objets Ceased WO2016166469A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1553354A FR3035250B1 (fr) 2015-04-15 2015-04-15 Dispositif d'aide au recensement d'objets
FR1553354 2015-04-15

Publications (1)

Publication Number Publication Date
WO2016166469A1 true WO2016166469A1 (fr) 2016-10-20

Family

ID=53776736

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2016/050847 Ceased WO2016166469A1 (fr) 2015-04-15 2016-04-13 Dispositif d'aide au recensement d'objets

Country Status (2)

Country Link
FR (1) FR3035250B1 (fr)
WO (1) WO2016166469A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070273516A1 (en) * 2006-05-24 2007-11-29 Craig Peter Sayers Self-referential integrity checking system and method
FR2931613A1 (fr) 2008-05-22 2009-11-27 Inst Nat Rech Inf Automat Dispositif et procede de verification d'integrite d'objets physiques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070273516A1 (en) * 2006-05-24 2007-11-29 Craig Peter Sayers Self-referential integrity checking system and method
FR2931613A1 (fr) 2008-05-22 2009-11-27 Inst Nat Rech Inf Automat Dispositif et procede de verification d'integrite d'objets physiques
WO2009153435A2 (fr) * 2008-05-22 2009-12-23 Inria Institut National De Recherche En Informatique Et En Automatique Dispositif et procédé de vérification d'intégrité d'objets physiques

Also Published As

Publication number Publication date
FR3035250B1 (fr) 2017-03-24
FR3035250A1 (fr) 2016-10-21

Similar Documents

Publication Publication Date Title
EP2309426B1 (fr) Procédé de codage à code à barres bidimensionnel, procédé et dispositif de décodage, terminal
CN114731162A (zh) 压缩数据的部分下载
CN103400174B (zh) 一种二维码的编码方法、解码方法及系统
JP6891379B2 (ja) 画像のサーチのための方法およびデバイス
KR20090086523A (ko) 에러가 발생할 수 있는 확률을 기초로 하여 에러가 보정된 비휘발성 메모리
US6975253B1 (en) System and method for static Huffman decoding
FR2929778A1 (fr) Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml.
CN107392270B (zh) 一种二维码生成方法
CN111539502A (zh) 防伪二维码的生成方法、装置、服务器及存储介质
CN112162999A (zh) 基于交互式云计算的大数据处理方法及人工智能服务器
CN102682017B (zh) 一种信息检索方法和系统
CN108259908A (zh) 用于编码和解码像素列表的方法和装置
CN103997406A (zh) 基于二维码的身份认证方法和装置
US12218698B2 (en) File compression system
WO2016166469A1 (fr) Dispositif d&#39;aide au recensement d&#39;objets
US20250139060A1 (en) System and method for intelligent data access and analysis
CN106874029B (zh) 镜像文件加载方法和装置
FR3021781A1 (fr) Procede de detection d&#39;un code a barres a deux dimensions dans une image d&#39;un document numerise.
CN117149939A (zh) 输入法字库构建方法及相关方法、装置、设备
FR2901037A1 (fr) Procede et dispositif de generation de motifs structurels de reference aptes a representer des donnees hierarchisees
US12204968B1 (en) System and method for high-capacity secure QR codes
CN117714838A (zh) 一种胶片数据信息还原方法、系统、设备及介质
JP7391903B2 (ja) コード生成システムおよびコード生成方法
CN109857340B (zh) Nor flash中文件的存储和读取方法、装置及存储介质
WO2013079306A1 (fr) Procede de maximisation de la capacite de correction d&#39;un code correcteur d &#39; erreurs mettant en oeuvre des syndromes supplementaires

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16730873

Country of ref document: EP

Kind code of ref document: A1