Systems and methods for encoding and decoding data
By parsing the data into multiple data parts and encoding them using different encoding schemes, the problem of limited data volume on the storage medium is solved, and more efficient storage space utilization is achieved.
Patent Information
- Application Number
- CN202510182157.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-19
- Filing Date
- 2020-12-02
- Publication Date
- 2025-06-06
AI Technical Summary
The prior art is limited by the storage space when storing data on a storage medium, resulting in a limited amount of data.
Data packets are generated to optimize storage space usage by parsing the data into multiple data parts and encoding each data part using different encoding schemes.
It effectively increases the amount of data stored on the storage medium, reduces the demand for storage space, and provides flexible coding scheme selection to meet the needs of different data characteristics.
Smart Images

Figure CN120110404A_ABST
Abstract
Description
Technical Field
[0001] Exemplary embodiments of the present disclosure relate generally to encoding and decoding data, and more particularly, to methods and systems for encoding / decoding data to / from storage media. Background Art
[0002] Typically, the amount of storage space required to store data on a storage medium (such as, but not limited to, RFID tags and printed media) may depend on the size of the data. For example, a string of 100 characters may require more storage space than a string of 50 characters. In some scenarios, the storage space available in such storage media may be limited, which in turn limits the amount of data that can be stored on such storage media in some examples.
[0003] Applicants have identified many deficiencies and problems associated with conventional systems and methods for encoding and decoding data. Through effort, ingenuity, and innovation, many of these identified problems have been solved by developing solutions, including in the embodiments of the present disclosure, many examples of which are described in detail herein. Summary of the invention
[0004] Various embodiments shown herein disclose a method, which includes receiving data to be encoded on a storage medium by a processor, wherein the data corresponds to an item and is assigned to a data category. The method also includes parsing the data into multiple data parts by the processor based on one or more first characteristics associated with each of one or more characters in the data, wherein the one or more first characteristics at least include the position of one or more characters in the data. The method also includes encoding multiple data parts by the processor using multiple encoding schemes to generate data packets, so that a first data part in multiple data parts is encoded using a first encoding scheme in multiple encoding schemes, and a second data part in multiple data parts is encoded using a second encoding scheme in multiple encoding schemes, wherein the first encoding scheme is different from the second encoding scheme. In addition, the method includes transmitting the data packets to a storage medium for storing the data packets on the storage medium.
[0005] Various embodiments shown herein disclose an encoder device, which includes a memory device having a set of executable instructions. Another encoder device includes a processor that is communicatively coupled to the memory device. The processor is configured to receive data to be encoded on a storage medium, wherein the data corresponds to an item and is assigned to a data category. The processor is further configured to parse the data into multiple data parts based on one or more first characteristics associated with each of one or more characters in the data, wherein the one or more first characteristics at least include the position of one or more characters in the data and the semantic information associated with the position of one or more characters in the data. In addition, the processor is configured to select multiple encoding schemes to encode multiple data parts based on one or more second characteristics associated with each of the multiple data parts, wherein the one or more second characteristics at least include the count of a group of characters in each of the multiple data parts. In addition, the processor is configured to encode multiple data parts using multiple encoding schemes to generate encoded data, so that the first encoding scheme in the multiple data parts is encoded using the first encoding scheme in the multiple encoding schemes, and the second encoding scheme in the multiple data parts is encoded using the second encoding scheme in the multiple encoding schemes, wherein the first encoding scheme is different from the second encoding scheme. Additionally, the processor is configured to generate data packets based on the encoded data.Finally, the processor is configured to transmit the data packets to a storage medium.
[0006] Various embodiments described herein disclose a computer-readable medium including a memory storing computer-executable instructions and a processor executing the computer-executable instructions to perform operations, the operations including parsing the data into a plurality of data portions based on characteristics associated with characters in the data, wherein the characteristics include at least the positions of the characters in the data. The operations also include encoding the plurality of data portions using a plurality of encoding schemes to generate data packets, such that a first data portion in the plurality of data portions is encoded using a first encoding scheme in the plurality of encoding schemes, and a second data portion in the plurality of data portions is encoded using a second encoding scheme in the plurality of encoding schemes, wherein the first encoding scheme is different from the second encoding scheme. The operations also include transmitting the data packets to a device including a storage medium so as to store the data packets in the storage medium. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The description of the exemplary embodiments may be read in conjunction with the accompanying drawings. It should be understood that for simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements. Embodiments incorporating the teachings of the present disclosure are shown and described with respect to the accompanying drawings set forth herein, in which:
[0008] Figure 1 shows an exemplary environment depicting a warehouse according to one or more embodiments described herein;
[0009] Figure 2A-2C An encoder device according to one or more embodiments described herein is shown;
[0010] Figure 3A and Figure 3B shows a schematic diagram of an encoder device according to one or more embodiments described herein;
[0011] Figure 4 shows a block diagram of a first control system according to one or more embodiments described herein;
[0012] Figure 5 shows an exemplary flow chart for operating an encoder device according to one or more embodiments described herein;
[0013] Figure 6 A flow chart illustrating a method for operating an encoder device in a calibration mode according to one or more embodiments described herein;
[0014] Figure 7 shows a graphical representation of an exemplary input signal according to one or more embodiments described herein;
[0015] Figure 8 A flow chart illustrating a method for determining the length of a plurality of tags according to one or more embodiments described herein;
[0016] Fig. 9 A flow chart showing a method for verifying whether an RF tag has been encoded according to one or more embodiments described herein;
[0017] Fig.10 A flowchart showing a method for operating an encoder device in an encoding mode according to one or more embodiments described herein;
[0018] Fig.11 A flowchart of a method for parsing data according to one or more embodiments described herein is shown;
[0019] Fig.12 A flow chart for encoding multiple data portions according to one or more embodiments described herein is shown;
[0020] Fig.13 A flowchart of a method for determining a coding scheme among a plurality of coding schemes according to one or more embodiments described herein is shown;
[0021] Fig.14Another flow chart of a method for determining an encoding scheme for encoding a portion of data according to one or more embodiments described herein is shown;
[0022] Fig.15 shows an exemplary data packet according to one or more embodiments described herein;
[0023] Fig.16 A decoder device according to one or more embodiments described herein is shown;
[0024] Fig.17 shows a block diagram of a second control system according to one or more embodiments described herein;
[0025] Fig.18 A flowchart showing a method for operating a decoder device according to one or more embodiments described herein;
[0026] Fig.19 Another flow chart for decoding a data packet according to one or more embodiments described herein is shown;
[0027] Fig. 20 A flowchart of a method for determining a data category according to one or more embodiments described herein is shown;
[0028] Fig.21 An exemplary scenario for encoding data according to one or more embodiments described herein is shown;
[0029] Fig. 22 A flowchart of a method for encoding a third data portion using a URN 40 encoding scheme according to one or more embodiments described herein is shown;
[0030] Fig.23 An exemplary scenario for decoding a data packet according to one or more embodiments described herein is shown;
[0031] Fig.24 A flowchart of a method for decoding a first encoded data portion using a URN 40 decoding scheme according to one or more embodiments described herein is shown;
[0032] Fig.25 A method for identifying an RF tag storing a specific data portion according to one or more embodiments described herein is shown;
[0033] Fig.26 A flowchart illustrating a method for encoding data according to one or more embodiments described herein; and
[0034] Fig. 27 A flow chart of a method for decoding a data packet is shown according to one or more embodiments described herein. DETAILED DESCRIPTION
[0035] Some embodiments of the present disclosure will be described more fully below with reference to the accompanying drawings, which illustrate some, but not all, embodiments of the present disclosure. In fact, these disclosures can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; on the contrary, these embodiments are provided so that the present disclosure satisfies applicable legal requirements. Throughout the content, like reference numerals refer to like elements. The terms used in this patent are not meant to be limiting, and the devices described herein or portions thereof may be attached or utilized in other orientations.
[0036] The term "comprising" means including but not limited to, and should be interpreted in the manner commonly used in the patent context. It should be understood that the use of broad terms such as "comprising," "including," and "having" provides support for narrower terms such as "consisting of," "consisting essentially of," and "consisting essentially of."
[0037] The phrases "in one embodiment," "according to one embodiment," and the like generally mean that a particular feature, structure, or characteristic following the phrase may be included in at least one embodiment of the present disclosure, or may be included in more than one embodiment of the present disclosure (importantly, such phrases are not necessarily referring to the same embodiment).
[0038] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
[0039] If the specification states that a component or feature "may", "can", "could", "should", "will", "preferably", "likely", "usually", "optionally", "for example", "often", or "might" (or other such words) be included or have a property, the particular component or feature is not required to be included or have that property. Such components or features may optionally be included in some embodiments, or may be excluded.
[0040] The term "radio frequency (RF) tag" is used herein to correspond to an electronic component that transmits or receives information or date via an antenna. In some examples, the RF tag includes an integrated circuit (IC), an antenna element, and a substrate. In an exemplary embodiment, the antenna element is manufactured on a substrate, and the IC is attached to the substrate. In addition, the IC is communicatively coupled to the antenna element through an interconnect on the substrate. In an exemplary embodiment, the integrated circuit in the RF tag may be configured to store encoded information or encoded data. In some examples, the RF tag may be configured to operate in various RF bands, such as, but not limited to, 13.56MHz (hereinafter referred to as high frequency band) or 860MHz-960MHz (UHF band). In some exemplary embodiments, the RF tag may have a dedicated power supply that enables the RF tag to communicate with one or more components such as an RF encoder and an RF reader. Such RF tags are referred to as active RF tags.
[0041] In an alternative exemplary embodiment, the RF tag may not have a dedicated power source. In such an embodiment, the RF tag may have a power coupler that can induce a charge when the RF tag is brought into an RF field. Thereafter, the induced charge is used to power the RF tag itself.
[0042] The term "medium" is used herein to refer to a printable medium, such as a page or paper, on which content such as graphics, text, and / or visual images can be printed. In some embodiments, the medium may correspond to a continuous medium that can be loaded in an encoder device in the form of a roll or stack, or may correspond to a medium that can be divided into a plurality of labels by perforations defined along the width of the medium. Alternatively or additionally, the medium can be divided into a plurality of labels by one or more marks that are defined at a predetermined distance from each other along the length of the medium. In some exemplary embodiments, the continuous stretching of the medium between two consecutive marks or two consecutive perforations corresponds to a label of the medium. In an exemplary embodiment, each of the plurality of labels includes an RF tag. In some embodiments, the medium may correspond to a thermal medium on which content is printed when heat is applied to the medium itself.
[0043] It is generally understood that storage media such as, but not limited to, RFID tags and printed media have limited storage space, which in turn limits the amount of data that can be stored on such storage media in some examples. In order to increase the amount of data that can be stored on such storage media, the data can often be encoded before being stored on the storage media. In some examples, encoding the data compresses the data, thereby reducing the size of the data.
[0044] In an exemplary embodiment, encoding and / or otherwise compressing data into an encoded form may correspond to a process in which data in a first form may be converted into data in a second form such that, in some examples, the data in the second form (hereinafter referred to as the encoded data) may consume less storage space on a storage medium than the storage space consumed by the data in the first form. For example, a string of characters may be encoded as integers (e.g., ASCII numbers) such that each integer represents a character in the string. In another example, a decimal integer may be encoded as a binary number.
[0045] The exemplary methods and systems described herein disclose another method for encoding data so that the encoded data consumes less space than conventional encoded data. In some examples, in order to encode the data, the data is parsed to obtain multiple data parts. Thereafter, each data part in the multiple data parts can be encoded using different encoding schemes to obtain encoded data. For example, a first data part in the multiple data parts is encoded using a first encoding scheme, and a second data part in the multiple data parts is encoded using a second encoding scheme, wherein the first encoding scheme is different from the second encoding scheme.
[0046] Furthermore, since different encoding schemes are used to encode the multiple data portions, each data portion can be decoded separately. Thus, in some scenarios where it may be necessary to obtain a specific data portion of the encoded data, the specific data portion is decoded instead of the complete encoded data. Thus, such decoding of only the specific data portion instead of the complete encoded data may be less computationally intensive, may be completed more quickly, etc.
[0047] Specifically, in some exemplary embodiments, the systems and methods described herein correspond to encoding data to be stored on a storage medium. The method includes parsing the data (to be stored on a storage medium) based on one or more first characteristics associated with each character in the data to obtain a plurality of data portions. In some examples, the one or more first characteristics associated with the character may include at least one of the position of the character within the data and the semantic information associated with the character. For example, if the data corresponds to a string of characters "ABCD", the position of the character "C" is three. By way of another example, the semantic information associated with the character may correspond to information represented by the character alone or in combination with other characters. For example, if the data corresponds to a package tracking number, such as "1Z 999AA10123456784", the character "Z" combined with the first character "1" represents a unique ID associated with a courier organization. In some examples, the semantic information associated with the character is determined from the position of the character in the data. For example, the character "1" at the first position may be part of a unique ID associated with a courier organization that handles package logistics, while the "1" in another position in the string may represent a destination, a package identification, and the like.
[0048] In an exemplary embodiment, during the parsing of the data, characters having at least one common first characteristic among the one or more first characteristics are classified under the same data portion in the multiple data portions. For example, characters having the same associated semantic information are classified under the same data portion in the multiple data portions. Therefore, during the parsing of the data, the characters "1" and "Z" are classified under the same data portion (e.g., the first data portion). Similarly, the characters "9", "9", "9", "A", "A" and "1" are classified in another data portion (e.g., the second data portion). In addition, the characters "2", "3", "4", "5", "6", "7", "8" and "4" are classified in yet another data portion (e.g., the third data portion). After the parsing of the data, each of the multiple data portions may include the first group of characters.
[0049] The method also includes determining a plurality of encoding schemes for the plurality of data portions based on at least one common first characteristic and one or more second characteristics associated with the set of characters. In some examples, the one or more second characteristics may be associated with each of the plurality of data portions and may include a count of the characters in the set of characters. For example, the count of the characters in the data portion including the characters "999AA1" may be "six".
[0050] In some examples, to determine the encoding scheme for a particular data portion, the method includes determining whether the count of a first group of characters in the data portion is within a first range between a first threshold count value and a second threshold count value. If it is determined that the count of the first group of characters in the data portion is within a first range between the first threshold count value and the second threshold count value, then optionally, the method further determines whether the count of the first group of characters is a multiple of a first integer. In an exemplary embodiment, the first integer is determined based on the second threshold count value and the first threshold count value. For example, the first integer is determined by dividing the second threshold count value by the first threshold count value. For example, if the first threshold count value is two and the second threshold count value is six, the first integer is three. If it is determined that the count of the first group of characters is divisible by the first integer, the method includes selecting a first encoding scheme for encoding the data portion.
[0051] However, if it is determined that the count of the first group of characters is not within a first range between a first threshold count value and a second threshold count value, the method proposes determining whether the count of the first group of characters is equal to the first threshold count value. If the count of the first group of characters is equal to the first threshold count value, the method includes selecting a second encoding scheme for encoding the data portion. In addition, if it is determined that the count of the first group of characters is not equal to the first threshold count value, the method includes selecting a third encoding scheme for encoding the data portion.
[0052] In some examples, the first coding scheme is a URN 40 coding scheme, the second coding scheme is a URN 40 compact coding scheme, and the third coding scheme is a binary coding scheme. Various coding schemes are further described in conjunction with the following various figures. In some examples, the scope of the present disclosure is not limited to the coding schemes listed above. In an exemplary embodiment, other coding schemes may be utilized to encode multiple data portions without departing from the scope of the present disclosure.
[0053] For example, the first threshold count value is two and the second threshold count value is six, and the first integer is three. To this end, with respect to the second data portion including "999AA1", the count of the first group of characters in the data portion is six, which is within a first range between the first threshold count value (i.e., 2) and the second threshold count value (i.e., 6). In addition, the count of the first group of characters in the data portion (i.e., 6) is divisible by the first integer (i.e., 3). Therefore, the URN40 encoding scheme can be selected for the data portion containing the characters "999AA1". Similarly, for the second data portion including "1Z", the count of the first group of characters (i.e., 2) is equal to the first threshold count value (i.e., 2). Therefore, the URN40 reduced encoding scheme can be selected for the second data portion including the first group of characters "1Z". In addition, for the third data portion including "23456784", the count of the first group of characters (i.e., 8) is not equal to the first threshold count value. Therefore, a third encoding scheme can be selected for the third data portion.
[0054] In some examples, the scope of the present disclosure is not limited to selecting multiple encoding schemes based on the above method. In an alternative embodiment, multiple encoding schemes can be determined based on semantic information associated with a first set of characters in a data portion of multiple data portions. For example, a first data portion containing a set of characters representing a unique ID of a courier organization will be encoded using a second encoding scheme. Similarly, a data portion containing a first set of characters representing a postal code will be encoded using a third encoding scheme. Such mappings between semantic information and multiple encoding schemes may be pre-stored in a memory of a device capable of encoding data and / or otherwise accessed during encoding.
[0055] After determining a plurality of encoding schemes for the plurality of data portions, the method includes encoding each of the plurality of data portions using the corresponding encoding scheme to generate a plurality of encoded data portions. Thereafter, the method includes combining the plurality of encoded data portions to generate encoded data.
[0056] Additionally or alternatively, the method also includes generating data packets by adding header data and error correction data to the encoded data. In some examples, the scope of the present disclosure is not limited to adding header data and error correction data after encoding the data. In some examples, header data and error correction data may be added to the data before encoding the data. In such an embodiment, header data and error correction data may be encoded during encoding of the data. Additionally or alternatively, data may be received via packets that already include header data and error correction data.
[0057] After creating the data packet, the method includes transmitting the data packet and / or otherwise causing the data packet to be transmitted to a storage medium such as an RF tag and / or a printed medium, wherein the data packet is stored or printed. In some examples, the method includes converting the data packet into binary bits before transmitting the data packet to the storage medium.
[0058] In order to decode the data from the data packet, the data packet is retrieved from the storage medium. Thereafter, the method includes parsing the data packet to retrieve multiple encoded data portions based at least on the position of the binary bit (representing the encoded characters in the encoded data). As discussed, the encoding scheme for encoding the data portion is determined based at least on the semantic information associated with a set of characters in the data portion, and the semantic information is further determined based on the position of the characters in the data. Therefore, in the data packet, the position of the encoded characters in the data packet is determined by the encoding scheme for generating the encoded characters. In some examples, the data packet is parsed in a manner such that the encoded characters encoded using the same encoding scheme are classified as encoded data portions. For example, the URN40 encoded characters in the data packet are classified as encoded data portions. In an exemplary embodiment, each encoded data portion in the multiple encoded data portions includes a set of encoded characters.
[0059] Subsequently, a plurality of coded data portions are decoded using corresponding decoding schemes to obtain a plurality of data portions. Since the data packet can be parsed to obtain a plurality of coded data portions, and each coded data portion in the plurality of coded data portions can be decoded independently, therefore, in the scenario where only the data portion needs to be retrieved from the storage medium, it is not necessary to decode the complete data packet to retrieve the data portion. In some examples, such a process is less computationally intensive than decoding the complete data packet and thereafter retrieving the required data portion. In addition, using a plurality of coding schemes to encode a plurality of data portions enables more control over the amount of storage space required for storing the coded data. For example, the type of coding scheme selected for encoding a plurality of data portions can manage the size of the coded data, and accordingly manage the storage space required for storing the coded data.
[0060] Figure 1 An exemplary environment 100 depicting a warehouse 102 is shown according to one or more embodiments described herein. The warehouse 102 includes a central server 104, one or more encoder devices 106a, 106b, ..., 106d (hereinafter referred to as encoder devices 106), and one or more decoder devices 108a, 108b, ... 108d (hereinafter referred to as decoder devices 108). In an exemplary embodiment, the encoder device 106 and the decoder device 108 are communicatively coupled to the central server 104 via a network 110.
[0061] In some examples, the encoder device 106 and the decoder device 108 can facilitate tracking of packages 112 transported through the warehouse 102. For example, the encoder device 106 can facilitate generating an encoded label, such as Fig.10 As described in the foregoing, the encoded label may be attached to the package 112. For example, the encoder device 106 may receive data for generating the encoded label from an input source 114. In some examples, the input source 114 may correspond to a worker 115 or another computing device such as a central server 104, which may be capable of providing input to the encoder device 106 and / or the decoder device 108. For simplicity, the input source 114 has been considered to be a worker 115. However, those skilled in the art will understand that the input source 114 may correspond to any other manual or automatic source (such as the central server 104).
[0062] In some examples, the generated encoded label can be attached to the package 112. In some examples, the encoded label can include a radio frequency (RF) tag 116, which can store the encoded data or the data in raw form (which is used to track the package 112). In another exemplary embodiment, the encoded label can correspond to a printed medium 118 on which the encoded data is printed and attached to the package 112.
[0063] To track packages 112 in warehouse 102, in some examples, worker 115 may utilize decoder device 108 to retrieve data from tagged packages 116, such as in conjunction with Fig.18 Further described.
[0064] The encoder device 106 may include suitable logic and / or circuitry that may enable the encoder device 106 to encode data. In addition, the encoder device 106 may store the encoded data on the RF tag 116. In an alternative embodiment, the encoder device 106 may print the encoded data on the printed medium 118. In some examples, the encoder device 106 may print the encoded data on the printed medium 118 in the form of a label. Figure 2A-2C and Fig.10 The structure and operation of the encoder device 106 is further described.
[0065] The decoder device 108 may comprise suitable logic and / or circuitry that may enable the decoder device 108 to retrieve the encoded data from the RF tag 116 and / or the printed media 118. In an exemplary embodiment, the decoder device 108 may further decode the encoded data to retrieve the data or portions of the data. Figure 17-Figure 18 The operation and structure of the decoder device 108 are described.
[0066] In some examples, the scope of the present disclosure is not limited to the warehouse 102. In some examples, the aspects and features of the present disclosure may be implemented in other environments or application areas such as retail stores, logistics vehicles, etc. without departing from the scope of the present disclosure. In addition, the scope of the present disclosure is not limited to data as a tracking number of the package 112. In some examples, other types of data (depending on the application implementing the features of the present disclosure) may be encoded and stored on the printed medium 118 or the RF tag 116. For example, a card number, a product identifier, a SKU number, etc. may be stored in the RF tag 116 without departing from the scope of the present disclosure.
[0067] Figure 2A-2C An encoder device 200 is shown according to one or more embodiments described herein. The encoder device 200 may include a media hub 202, a coupler 204, an encoder device control system 206, and a media output slot 208. In some examples, the encoder device 200 also includes a ribbon drive assembly 210, a ribbon take-up hub 212, and a print head 214.
[0068] In some exemplary embodiments, the media hub 202 is configured to receive a media roll 216. In some examples, the media roll 216 may correspond to a roll of media 218 that may have a plurality of labels 220. The plurality of labels 220 may be defined on the media 218 by perforations 222. In alternative embodiments, the plurality of labels 220 may be defined on the media 218 by one or more markings (not shown). In some examples, the media hub 202 may be coupled to a first electric drive (not shown) that actuates the media hub 202. When actuated, the media hub 202 rotates the media roll 216, which further causes the media 218 to travel / traverse along the media path 224 (e.g., Figure 2C The shaded area in the figure is shown below.
[0069] In some exemplary embodiments, the scope of the present disclosure is not limited to the media hub 202 facilitating the traversal of the media 218 along the media path 224. In alternative embodiments, in addition to the media hub 202, the encoder device 200 may also include a platen roller (shown in FIG. 3 ) positionable along the media path 224. In such an embodiment, the platen roller (shown in FIG. 3 ) may be coupled to a first electric drive that actuates the platen roller. Upon actuation, the platen roller may be configured to pull the media 218 from the media roll 216 (mounted on the media hub 202) so that the media 218 travels along the media path 224. Additionally or alternatively, the first electric drive may be coupled to both the platen roller and the media hub 202 such that both the platen roller and the media hub 202 operate synchronously.
[0070] Coupler 204 corresponds to an antenna element positioned adjacent to media path 224. In an exemplary embodiment, coupler 204 may be configured to generate an RF signal when a voltage signal is applied at the antenna element. For example, coupler 204 may be configured to generate an RF signal in the HF band. In another example, coupler 204 may generate an RF signal in the UHF band. Some examples of coupler 204 may include, but are not limited to, a butterfly antenna, a dipole antenna, a monopole antenna, a loop antenna, and the like. In an exemplary embodiment, coupler 204 may facilitate transmitting encoded data to an RF tag 116 disposed on each tag in a plurality of tags 220 (on medium 218) or receiving encoded data from the RF tag.
[0071] The encoder device control system 206 may include suitable logic and circuitry to control the operation of at least the encoder device 106. For example, the encoder device control system 206 may be configured to control the operation of the coupler 204. In some examples, the encoder device control system 206 includes an encoder that may be configured to encode data and facilitate transmission of the encoded data to the RF tag 116 via the coupler 204. Additionally, the encoder device control system 206 may include a decoder that may facilitate receiving the encoded data from the RF tag 116 via the coupler 204. Figure 4 The structure and operation of the encoder device control system 206 are described.
[0072] In some examples, after the encoder device control system 206 causes the coupler 204 to transmit the encoded data to the RF tag 116 on the tag 220a of the plurality of tags 220, the tag 220a having the encoded RF tag 116 is output from the media output slot 208. In an exemplary embodiment, the media output slot 208 corresponds to a slot in the housing of the encoder device 200 through which the tag 220a having the encoded RF tag 116 is output.
[0073] In addition to encoding the RF tag 116 on the tag 220a in the plurality of tags 220, in some exemplary implementations, the encoder device 106 may print content on the tag 220a in the plurality of tags 220. For example, the encoder device 106 may print encoded data on the tag 220a. To facilitate the printing of the encoded data on the tag 220, the encoder device 200 may also include a ribbon drive assembly 210, a ribbon take-up hub 212, and a print head 214.
[0074] The ribbon drive assembly 210 can receive a ribbon roller 230 corresponding to a roller of ribbon 232. In an exemplary embodiment, the ribbon 232 can correspond to an ink medium used to apply ink to the medium 218 to print content (e.g., encoded data) on the medium 218 (e.g., label 220a). In some exemplary implementations, the ribbon drive assembly 210 can be coupled to a second electric drive device, which can be configured to actuate the ribbon drive assembly 210. When actuated, the ribbon drive assembly 210 rotates, which in turn rotates the ribbon roller 230 and supplies the ribbon 232 (e.g., label 220a) along the ribbon path 234. Figure 2B Along the ribbon path 234, the ribbon 232 traverses from the ribbon drive assembly 210 to the print head 214 and further to the ribbon take-up hub 212.
[0075] In an exemplary embodiment, the ribbon take-up hub 212 may correspond to an assembly that may receive a used ribbon (i.e., a section of the ribbon 232 from which ink has been disposed on the media 218). The ribbon take-up hub 212 may also be coupled to a second electric drive, which may be configured to actuate the ribbon take-up hub 212. Upon actuation of the second electric drive, the ribbon take-up hub 212 pulls the ribbon 232 from the ribbon roll 230, thereby moving the ribbon 232 along the ribbon path 234. In an exemplary embodiment, the second electric drive (coupled to both the ribbon drive assembly 210 and the ribbon take-up hub 212) enables synchronized operation of the ribbon drive assembly 210 and the ribbon take-up hub 212, such that the amount of ribbon released by the ribbon roll 230 is equal to the amount of ribbon received by the ribbon take-up hub 212. For example, the length of the ribbon 232 released by the ribbon roller 230 is the same as the length of the ribbon 232 received by the ribbon take-up hub 212 .
[0076] The print head 214 may correspond to a component (e.g., label 220a) configured to print content on the medium 218. In an exemplary embodiment, the print head 214 is disposed on the medium path 224 and the ribbon path 234. The print head 214 includes a plurality of heating elements (not shown) that are energized and pressed against the ribbon 232 to perform a printing operation. During the printing operation, the print head 214 simultaneously applies heat to a section of the ribbon 232 and presses the ribbon 232 against the medium 218 to transfer ink onto the medium 218. In some examples, after the printing operation, the medium 218 and the ribbon 232 traverse along the medium path 224 and the ribbon path 234, respectively, so that the printed medium is output from the medium output slot 208, and the used ribbon 232 traverses to the ribbon take-up hub 212.
[0077] In some examples, where the media 218 corresponds to a thermal media, the ribbon 232 may not be needed. In such examples, the print head 214 may apply heat directly to the media 218 to print content on the media 218.
[0078] In an exemplary embodiment, the encoder device 200 may be configured to operate in one or more modes. The one or more modes may include, but are not limited to, a calibration mode and an encoding mode. In an exemplary embodiment, in the calibration mode, the encoder device 200 is configured to calibrate itself, such as in conjunction with Figure 6 In an exemplary embodiment, in the encoding mode, the encoder device 200 is configured to perform encoding operations, such as in combination with Fig.10 Further described.
[0079] In some exemplary embodiments, the encoder device 200 may further include an input panel 236 including one or more buttons 238 (e.g., one or more physical buttons on a screen and / or one or more virtual buttons). The one or more buttons 238 may correspond to an input device through which a user of the encoder device 200 may provide input to cause the encoder device 200 to perform a predetermined operation. For example, a user of the encoder device 200 may provide input through the one or more buttons 238 to configure the encoder device 200 to operate in a calibration mode. Some examples of the one or more buttons 238 may include, but are not limited to, a push button, a soft push button, a touch button, a virtual button, and the like.
[0080] Figure 3A and Figure 3BSchematic diagrams 300a and 300b of an encoder device 106 are shown according to one or more embodiments described herein. Schematic diagrams 300a and 300b of the encoder device 106 show that in some embodiments the encoder device 106 may also include a platen roller 302, a media sensor 304, and an encoder device control system 206. Schematic diagrams 300a and 300b of the encoder device 106 further depict the media path 224 and the ribbon path 234. In addition, the schematic diagrams 300a and 300b show that the coupler 204 is positioned adjacent to the media path 224 so that the coupler 204 is directed toward the media 218 on the media path 224. In addition, the coupler 204 is positioned upstream of the print head 214 and the media sensor 304. In an exemplary embodiment, the term "upstream" according to one or more embodiments described herein corresponds to a direction opposite to the direction of media traversal along the media path 224 during encoding of the RF tags 116 on the plurality of tags 220. In an exemplary embodiment, the term “downstream” in accordance with one or more embodiments described herein corresponds to the same direction as the direction of media traversal along the media path 224 during encoding of the RF tags 116 on the plurality of tags 220 .
[0081] The printhead 214 is positioned downstream from the media roll 216 along the media path 224 and downstream from the ribbon roll 230 along the ribbon path 234 .
[0082] In an exemplary embodiment, the print head 214 is positioned on top of both the ribbon path 234 and the media path 224, such that the ribbon path 234 is positioned between the print head 214 and the media path 224. Additionally, the ribbon path 234 is closer to the print head 214 than the media path 224. During a printing operation, the print head 214 moves in a vertical downward direction to press the ribbon 232 against the media 218 to perform a printing operation.
[0083] In an exemplary embodiment, the platen roller 302 is positioned downstream of the printhead 214 along the media path 224. As discussed above, the platen roller 302 is coupled to a first electric drive that enables the platen roller 302 to rotate and push, cause, and / or otherwise pull the media 218 from the media roll 216 so that the media travels along the media path 224.
[0084] The media sensor 304 may correspond to a sensor configured to detect the presence of the medium 218 on the media path 224. In an exemplary embodiment, the media sensor 304 is positioned upstream of the print head 214 and downstream of the coupler 204. In some exemplary embodiments, the media sensor 304 may be configured to detect the presence of the medium 218 by determining the transmittance and / or reflectance of the medium 218. In an exemplary embodiment, the transmittance of the medium 218 may correspond to a measure of the intensity of a light signal that the medium 218 allows to pass through it. In an exemplary embodiment, the reflectance of the medium 218 may correspond to a measure of the intensity of a light signal reflected from a surface of the medium 218.
[0085] In an exemplary embodiment, the media sensor 304 includes a light emitter 310 and a light receiver 312 . The light emitter 310 may correspond to a light source, such as a light emitting diode (LED), a laser, etc. The light emitter 310 may be configured to direct a light signal onto the media path 224 .
[0086] The optical receiver 312 may correspond to at least one of a photodetector, a photodiode, or a photoresistor. The optical receiver 312 may generate an input signal based on the intensity of the optical signal received by the optical receiver 312. In an exemplary embodiment, the input signal may correspond to a voltage signal, wherein one or more characteristics of the voltage signal (such as the amplitude of the voltage signal and the frequency of the voltage signal) are proportional to the intensity of the portion of the optical signal received by the optical receiver 312.
[0087] In operation, the optical transmitter 310 of the media sensor 304 can be configured to direct an optical signal onto the media path 224. If the media 218 is present on the media path 224, a portion of the optical signal can be reflected from the surface of the media 218. In order to detect the portion of the optical signal reflected from the surface of the media 218, in some examples, the optical receiver 312 and the optical transmitter 310 can be positioned in the same plane, such as Figure 3B 300b in FIG. 300b. In another example, without departing from the scope of the present disclosure, the optical receiver 312 may be positioned below the media path 224 and / or may not be positioned in the same plane as the plane of the optical transmitter 310. The optical receiver 312 may receive a portion of the optical signal, and based on the intensity of the received portion of the optical signal, the optical receiver 312 generates an input signal. In some specific implementations, in the absence of the medium 218 on the media path 224, the optical receiver 312 may not receive the portion of the optical signal (transmitted by the optical transmitter), and therefore may not generate an input signal. Therefore, based on the input signal generated by the media sensor 304, the presence of the medium 218 on the media path 224 can be determined.
[0088] Additionally or alternatively, the media sensor 304 may determine the presence of the medium 218 on the media path 224 based on the transmittance of the medium 218. In such a specific implementation, the optical receiver 312 may receive the portion of the optical signal that passes through the medium 218. In order to receive the portion of the optical signal that passes through the medium 218, the optical receiver 312 is spaced apart from the optical transmitter 310 in a manner such that the media of the media roll 314 passes through the space between the optical receiver 312 and the optical transmitter 310. When the optical transmitter 310 directs the optical signal onto the medium 218, a portion of the optical signal passes through the medium 218, which is then received by the optical receiver 312. Thereafter, the optical receiver 312 may generate an input signal based on the intensity of the received portion of the optical signal.
[0089] In some embodiments, the media sensor 304 can be used to detect the beginning and end of a tag 220a in a plurality of tags 220 in the medium 218. In an exemplary embodiment, the beginning of the tag 220a may correspond to a first perforation between the tag 220a and another tag before the tag 220a. In an exemplary embodiment, the end of the tag 220a may correspond to a second perforation between the tag 220a and another tag after the tag 220a. As discussed above, the medium 218 may include a plurality of tags 220 separated by perforations 222 or by one or more marks (not shown). Therefore, when such marks or perforations 222 on the medium 218 pass through the media sensor 304 during the traversal of the medium 218 along the media path 224, the media sensor 304 may detect a sudden increase / decrease in the measure of the transmittance / reflectivity of the medium 218. Such a sudden increase / decrease in the measure of the transmittance / reflectivity of the medium 218 is reflected in the input signal generated by the media sensor 304. For example, the input signal generated by the media sensor 304 may include peaks or valleys indicating a sudden increase or decrease in the measure of the transmittance / reflectance of the medium 218. Such peaks and valleys may be used to determine the beginning or end of a tag 220a in the plurality of tags 220.
[0090] Return to reference Figure 2A In some exemplary embodiments, the scope of the present disclosure is not limited to the encoder device 106 that performs both RF tag encoding and printing operations. In some exemplary implementations, the encoder device 106 may not perform a printing operation and may only perform an RF tag encoding operation. In such implementations, the encoder device 106 may not include the print head 214, the ribbon drive assembly 210, and the ribbon take-up hub 212.
[0091] Figure 4A block diagram of an encoder device control system 206 is shown according to one or more embodiments described herein. The encoder device control system 206 includes a first processor 402, a first memory device 404, a first communication interface 406, a first input / output (I / O) device interface unit 408, a first encoder 410, and a first decoder 412.
[0092] The first processor 402 may be implemented as a device including one or more microprocessors with accompanying digital signal processors, one or more processors without accompanying digital signal processors, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuits, one or more computers, various other processing elements (including integrated circuits, such as, for example, application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs)), or some combination thereof. Therefore, although in Figure 4 402 is shown as a single processor, but in an embodiment, the first processor 402 may include multiple processors and signal processing modules. The multiple processors may be embodied on a single electronic device or may be distributed on multiple electronic devices that are collectively configured to function as circuits of the encoder device control system 206. The multiple processors may be in operative communication with each other and may be collectively configured to perform one or more functions of the circuits of the encoder device control system 206 as described herein. In an exemplary embodiment, the first processor 402 may be configured to execute instructions stored in the first memory device 404 or otherwise accessible to the first processor 402. These instructions, when executed by the first processor 402, may cause the circuits of the encoder device control system 206 to perform one or more of the functions as described herein.
[0093] Whether the first processor 402 is configured by a hardware method, a firmware / software method, or a combination thereof, the first processor may include an entity capable of performing operations according to the embodiments of the present disclosure while being configured accordingly. Thus, for example, when the first processor 402 is implemented as an ASIC, FPGA, etc., the first processor 402 may include specially configured hardware for performing one or more operations described herein. Alternatively, as another example, when the first processor 402 is implemented as an executor of instructions (such as those that may be stored in the first memory device 404), the instructions may specifically configure the first processor 402 to perform one or more algorithms and operations described herein.
[0094] Therefore, the first processor 402 used herein can refer to a programmable microprocessor, a microcomputer, or one or more multiprocessor chips, which can be configured by software instructions (applications) to perform various functions including the functions of the various embodiments described above. In some devices, multiple processors dedicated to wireless communication functions and a processor dedicated to running other applications can be provided. Software applications can be stored in internal memory before being accessed and loaded into the processor. The processor may include an internal memory sufficient to store application software instructions. In many devices, the internal memory can be a volatile or non-volatile memory such as a flash memory or a mixture of the two. The memory can also be located inside another computing resource (for example, to enable computer-readable instructions to be downloaded via the Internet or another wired or wireless connection).
[0095] The first memory device 404 may include suitable logic, circuitry, and / or interfaces adapted to store a set of instructions executable by the first processor 402 to perform predetermined operations. Some of the commonly known memory implementations include, but are not limited to, a hard disk, a random access memory, a cache memory, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), and an electrically erasable programmable read-only memory (EEPROM), a flash memory, a cassette, a magnetic tape, a magnetic disk storage device or other magnetic storage device, a compact disk read-only memory (CD-ROM), a digital versatile disk read-only memory (DVD-ROM), an optical disk, a circuit configured to store information, or some combination thereof. In an exemplary embodiment, without departing from the scope of the present disclosure, the first memory device 404 may be integrated with the first processor 402 on a single chip.
[0096] The first communication interface 406 may correspond to a communication interface 406 that can facilitate the transmission of messages and data to various devices and the reception of messages and data from these devices. For example, the first communication interface 406 is communicatively coupled to a computing device (not shown). In some examples, through the first communication interface 406, the encoder device 106 may be configured to receive a command / job from a computing device, and the encoder device 106 may perform a predetermined operation based on the command / job. For example, through the first communication interface 406, the encoder device 106 may receive data on the RF tag 116 to be encoded and stored on the tag 220a (e.g., to the generated printed medium 118). Examples of the first communication interface 406 may include, but are not limited to, an antenna, an Ethernet port, a USB port, a serial port, or any other port that may be suitable for receiving and sending data. The first communication interface 406 transmits and receives data and / or messages according to various communication protocols (such as I2C, TCP / IP, UDP, and 3G, 4G, 4G or 5G communication protocols).
[0097] The first I / O device interface unit 408 may comprise suitable logic and / or circuitry that may be configured to communicate with the device in accordance with, for example, but not limited to, an I2C communication protocol, a serial peripheral interface (SPI) communication protocol, a serial communication protocol, a controller area network (CAN) communication protocol, and a The first I / O device interface unit 408 may communicate with the coupler 204 to facilitate transmitting / receiving encoded data to / from the RF tag 116, such as in conjunction with the RF tag 116. Fig.10 Some examples of the first I / O device interface unit 408 may include, but are not limited to, a data acquisition (DAQ) card, an electric drive driver circuit, and the like.
[0098] The first encoder 410 may comprise suitable logic and / or circuitry that may enable the encoder device 106 to encode data (to be stored on the RF tag 116) to generate encoded data, such as Fig.10 In an exemplary embodiment, the first encoder 410 may be further configured to generate a data packet including the encoded data. In some examples, the first encoder 410 may be further configured to transmit the data packet to the RF tag 116 via the coupler 204. The first encoder 410 may be implemented using one or more hardware components such as, but not limited to, an FPGA, an ASIC, etc.
[0099] The first decoder 412 may comprise suitable logic and / or circuitry that may enable the encoder device 106 to retrieve the data packet from the RF tag 116, such as in conjunction with Fig.18 The first decoder 412 may be further configured to decode the encoded data in the data packet, such as in combination with Fig.18 As further described, the first decoder 412 may be implemented using one or more hardware components (such as but not limited to FPGA, ASIC, etc.).
[0100] The calibration unit 414 may comprise suitable logic and / or circuitry for calibrating the encoder device 106, such as in conjunction with Figure 6 Further described. In an exemplary embodiment, the calibration unit 414 may be configured to determine one or more characteristics of the medium 118. Some examples of the one or more characteristics of the medium 118 may include, but are not limited to, the length of the plurality of tags 220, the type of the medium 118, etc. For the purposes of the ongoing description, the calibration unit 414 determines the length of the plurality of tags 220 in the medium 118. The calibration unit 414 may be implemented using one or more hardware components such as, but not limited to, an FPGA, an ASIC, etc.
[0101] The signal processing unit 416 may include suitable logic and / or circuitry for analyzing input signals received from the media sensor 304. For example, the signal processing unit 416 may include a digital signal processor that may be configured to identify peaks and valleys in the input signal. Additionally, the signal processing unit 416 may analyze the input signal using one or more signal processing techniques such as, but not limited to, a fast Fourier transform (FFT), a discrete Fourier transform (DFT), a discrete time Fourier transform (DTFT). The signal processing unit 416 may be implemented using one or more hardware components such as, but not limited to, an FPGA, an ASIC, etc.
[0102] Figure 5 , Figure 6 , Figure 8 , Fig. 9 , Fig.10 , Fig.12 , Fig.13 , Fig.16 and Fig.17 A device such as Figure 1 106a, 106b and 106c of the encoder device 106a, 106b and 106c are performed. It should be understood that each box in the flowchart, and the combination of boxes in the flowchart can be implemented by various devices (such as hardware, firmware, one or more processors, circuits, and / or other devices associated with the execution of software including one or more computer program instructions). For example, one or more of the above processes can be embodied by computer program instructions. In this regard, the computer program instructions embodying the above process can be stored by the memory of the device using the embodiment of the present invention and executed by the processor in the device. It is understood that any such computer program instructions can be loaded onto a computer or other programmable device (e.g., hardware) to produce a machine so that the resulting computer or other programmable device provides an implementation of the functions specified in one or more flowchart boxes. These computer program instructions can also be stored in a non-transitory computer-readable storage memory, which can instruct a computer or other programmable device to work in a specific manner so that the instructions stored in the computer-readable storage memory produce a product, and its execution can realize the functions specified in one or more flowchart boxes. The computer program instructions may also be loaded onto a computer or other programmable device to cause a series of operations to be performed on the computer or other programmable device, thereby producing a computer-implemented method, so that the instructions executed on the computer or other programmable device provide operations for implementing the functions specified in one or more flowchart blocks. Figure 5 , Figure 6 , Figure 8 , Fig. 9 , Fig.10 , Fig.12 , Fig.13 , Fig.16 and Fig.17 The operations, when executed, convert a computer or processing circuit into a specific machine configured to perform the exemplary embodiments of the present invention. Figure 5 , Figure 6 , Figure 8 , Fig. 9 , Fig.10 , Fig.12 , Fig.13 , Fig.16 and Fig.17 The operations of the present invention define algorithms for configuring one or more computers or processors to perform various example embodiments. In some cases, a general-purpose computer may be provided with an instance of a processor that performs Figure 5 , Figure 6 , Figure 8 , Fig. 9 , Fig.10 , Fig.12 , Fig.13 , Fig.16 and Fig.17 The invention provides an algorithm to transform a general-purpose computer into a specific machine configured to perform the exemplary embodiments.
[0103] Therefore, the blocks in the flowchart support a combination of means for performing the specified functions and a combination of operations for performing the specified functions. It will also be understood that one or more blocks in the flowchart and a combination of blocks in the flowchart can be implemented by a hardware-based special-purpose computer system that performs the specified functions or a combination of special-purpose hardware and computer instructions.
[0104] Figure 5 An exemplary flow chart 500 for operating the encoder device 106 is shown according to one or more embodiments described herein.
[0105] At step 502, the encoder device 106 includes a device, such as the encoder device control system 206, the first processor 402, the calibration unit 414, etc., for determining whether an input to operate the encoder device 106 in a calibration mode is received, such as from a worker 115 (using the encoder device 106). In some embodiments, the worker 115 (such as the worker 114) may provide input (corresponding to operating the encoder device 106 in a calibration mode) by pressing one or more buttons 238 provided on the input panel 236 of the encoder device 106 in a predetermined pattern. In an exemplary embodiment, the predetermined pattern may correspond to pressing a button (of the one or more buttons 238) in a predetermined sequence or for a predetermined duration. For example, the user may keep pressing a button (of the one or more buttons 238) for 10 seconds. In some exemplary embodiments, the predetermined pattern may be pre-configured during the manufacture of the encoder device 106.
[0106] If the first processor 402 determines that an input to operate the encoder device 106 in the calibration mode is received, the first processor 402 may be configured to perform step 504. At step 504, the encoder device 106 includes means for operating the encoder device 106 in the calibration mode, such as the encoder device control system 206, the first processor 402, the calibration unit 414, etc. Additionally or alternatively, the calibration unit 414 may be configured to automatically configure the encoder device 106 in the calibration mode in certain circumstances (such as, but not limited to, when the encoder device 106 is first started). In conjunction with Figure 6 The operation of the encoder device 106 in the calibration mode is further described.
[0107] If at step 502, if the first processor 402 determines that no input is received to operate the encoder device 106 in the calibration mode, the first processor 402 may be configured to perform step 506. At step 506, the encoder device 106 includes means for operating the encoder device 106 in the encoding mode, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. Fig.10 The operation of the encoder device 106 in the encoding mode is described.
[0108] Figure 6 A flowchart 600 is shown of a method for operating the encoder device 106 in a calibration mode according to one or more embodiments described herein.
[0109] At step 602, the encoder device 106 includes means for causing the media 218 to traverse / advance along the media path 224, such as the encoder device control system 206, the first processor 402, the calibration unit 414, the first I / O device interface unit 408, etc. In an exemplary embodiment, the calibration unit 414 can be configured to instruct the first I / O device interface unit 408 to actuate a first electric drive coupled to the media hub 202 and the platen roller 302. Actuation of the first electric drive causes the media hub 102 and the platen roller 202 to rotate, which in turn causes the media roll 216 to supply the media 218 along the media path 224. As the media 218 traverses along the media path 224, the media 218 also traverses relative to the coupler 204 and the media sensor 304.
[0110] In some examples, the first I / O device interface unit 408 can be configured to actuate the first electric drive at a predetermined angular velocity. In an exemplary embodiment, actuating the first electric drive at the predetermined angular velocity causes the medium 218 to traverse along the media path 224 at a determined linear velocity. In an exemplary embodiment, a mathematical relationship between the predetermined angular velocity and the linear velocity traversed by the medium along the media path 224 is stored in the first memory device 404. Therefore, the first I / O device interface unit 408 can be configured to utilize the mathematical relationship between the predetermined angular velocity and the linear velocity traversed by the medium to cause the medium 218 to traverse along the media path at the determined linear velocity.
[0111] At step 604, the encoder device 106 includes means, such as the encoder device control system 206, the first processor 402, the calibration unit 414, the first I / O device interface unit 408, etc., for receiving an input signal from the media sensor 304 as the medium 218 traverses along the media path 224. As discussed above, the input signal corresponds to a voltage signal representing the transmittance / reflectance of the medium 218. Furthermore, as discussed above, the transmittance / reflectance of the medium 218 is determined based on the intensity of the portion of the light signal that is reflected from the surface of the medium 218 or transmitted through the medium 218. Thus, the input signal generated by the media sensor 304 represents the intensity of the portion of the light signal that is received by the media sensor 304 (i.e., the portion of the light signal that passes through the medium 218 or is reflected from the surface of the medium 218). More specifically, one or more characteristics of the input signal, such as the amplitude and frequency of the input signal, represent the intensity of the portion of the light signal that is received by the media sensor 304. For example, if the intensity of the portion of the optical signal received at a first time point is greater than the intensity of the portion of the optical signal received at a second time point, the amplitude of the input signal received at the first time point is greater than the intensity of the input signal received at the second time point.
[0112] In an exemplary embodiment, because the medium 218 is not stationary relative to the media sensor 304 and different sections of the medium 218 pass by the media sensor 304, the measure of transmittance / reflectance changes as the medium 218 traverses along the media path 224. In addition, as discussed above, the medium 218 has multiple labels 220 separated by means of perforations 222 or by means of markings. When such markings / perforations 222 pass by the media sensor 304 as the medium 218 traverses along the media path 224, the media sensor 304 can determine a sudden spike or a sudden drop in the measured transmittance / reflectance of the medium 116. Therefore, the media sensor 304 generates an input signal that can indicate such a change in the measure of the transmittance / reflectance of the medium 218. For example, such a change is reflected in one or more characteristics of the input signal, such as amplitude and frequency. In combination Figure 7 One such exemplary input signal is described.
[0113] Figure 7 A graphical representation 700 of an example input signal is shown according to one or more embodiments described herein.
[0114] Graphical representation 700 includes an X-axis 702 and a Y-axis 704. X-axis 702 represents the duration of receiving an exemplary input signal. Y-axis 704 represents a measure of the amplitude of the exemplary input signal. Curve 706 represents the exemplary input signal. Curve 706 includes various peaks, such as 708a and 708b. Peak 708a and peak 708b are spaced apart from each other in time sequence. In addition, peaks 708a and 708b depict a sudden increase in the measure of the transmittance / reflectivity of medium 218 as medium 218 traverses along media path 224. As discussed, the sudden increase in the measure of the transmittance / reflectivity of medium 218 is due to the perforation passing through media sensor 204. Therefore, peaks 708a and 708b may represent that the perforation may have passed through media sensor 304 as medium 218 traverses along media path 224.
[0115] Return to reference Figure 6 At step 606, the encoder device 106 includes a device for determining the length of the plurality of tags 220 in the medium 218 based on the received input signal, such as the encoder device control system 206, the first processor 402, the calibration unit 414, the signal processing unit 416, etc. Figure 8 Determining the lengths of the plurality of tags 220 is further described.
[0116] Figure 8 A flow chart 800 is shown of a method for determining the length of a plurality of tags 220 according to one or more embodiments described herein.
[0117] At step 802, the encoder device 106 includes a device for identifying a plurality of peaks in an input signal (e.g., based on the input signal received in step 604), such as the encoder device control system 206, the first processor 402, the signal processing unit 416, etc. In an exemplary embodiment, the signal processing unit 416 may be configured to utilize one or more signal processing techniques to identify a plurality of peaks in the received input signal. Some examples of signal processing techniques that may be used to determine the plurality of peaks may include, but are not limited to, running average, signal smoothing, wavelet transform, etc. As discussed above, the plurality of peaks in the input signal may represent a sudden increase in a measure of the transmittance of the medium 218. Furthermore, as discussed above, the sudden increase in the measure of the transmittance of the medium 218 indicates that the perforation 222 or a mark on the medium 218 has passed the media sensor 304 during the traversal of the medium 218 along the media path 224. Therefore, the plurality of peaks in the input signal may represent the perforation 222 / mark on the medium 218.
[0118] At step 804, the encoder device 106 includes means for determining a duration between two consecutive peaks in the input signal, such as the encoder device control system 206, the first processor 402, the signal processing unit 416, etc. As discussed above, the plurality of peaks represent perforations 222 on the medium 116. Furthermore, as discussed above, a continuous stretching of the medium 218 between two consecutive perforations 222 corresponds to a tag 220a in the medium 218. Thus, the duration between the two consecutive peaks may correspond to a period of time that the tag 220a spends passing the media sensor 304 during the traversal of the medium 218 along the media path 224.
[0119] At step 806, the encoder device 106 includes means, such as the encoder device control system 206, the first processor 402, the calibration unit 414, etc., for determining the length of the label 220a based on the determined duration between two consecutive peaks and the linear speed of the medium traversing along the media path 224. As discussed above, the calibration unit 414 can be configured to determine the linear speed of the medium traversing based on a mathematical relationship between the angular speed and the linear speed of the first electric drive device to determine the speed of the medium traversing.
[0120] After determining the linear velocity of the medium traversal, in an exemplary embodiment, the calibration unit 414 can utilize the relationship between velocity and time to determine the length of the tag 220a. In addition, the calibration unit 414 can be configured to store the determined length of the tag 220a in the first memory device 404.
[0121] Referring back to flowchart 600, at step 608, encoder device 106 includes means for stopping traversal of media 218, such as encoder device control system 206, first processor 402, calibration unit 414, first I / O device interface unit 408, signal processing unit 416, etc. In some examples, first I / O device interface unit 408 may instruct first electric drive (associated with media hub 202 and platen roller 302) to stop such that perforations 222 are positioned above media sensor 304. In some exemplary embodiments, first I / O device interface unit 408 may be configured to facilitate such stopping of media 218 (where perforations 222 on media 218 are aligned with media sensor 304) based on input signals received from media sensor 304. To facilitate such stopping of traversal of media 218, signal processing unit 416 may be configured to monitor one or more characteristics of input signals received from media sensor 304 (e.g., amplitude of the input signals) as media 218 traverses along media path 224. In the event that the signal processing unit 416 (by utilizing one or more signal processing techniques) identifies a peak in the input signal, the signal processing unit 416 may transmit instructions to the first I / O device interface unit 408 to stop the first electric drive, which stops traversal of the media along the media path 224. Additionally, because the media is stopped when the peak in the input signal is identified, the perforations 222 in the media 218 are aligned with the media sensor 304.
[0122] Since the aperture 222 is aligned with the media sensor 304 and the coupler 204 is positioned upstream of the media sensor 304 (see Figure 3A and Figure 3B ), so the tag 220a is positioned above the coupler 204. In some examples, the position of the RF tag 116 on the tag 220a varies depending on the type of medium 218. For example, the length of the tag 220a in the first medium may be greater than the length of the tag 220a in the second medium. Therefore, the position of the RF tag 116 on the tag 220a in the first medium may be different from the position of the RF tag 116 on the tag 220a in the second medium. Therefore, in some examples, during calibration, the encoder device control system 206 may be configured to determine the position of the RF tag 116 on the tag 220a.
[0123] At step 610, the encoder device 106 includes means for attempting encoding of the RF tag 116, such as the encoder device control system 206, the first processor 402, the calibration unit 414, the first I / O device interface unit 408, the first encoder 410, and the like. For example, the first encoder 410 may be configured to transmit instructions to the coupler 204 through the first I / O device interface unit 408 to transmit calibration data to the RF tag 116. In some examples, the calibration data may correspond to a test string (e.g., "test data") transmitted to the RF tag 116 during calibration of the encoder device 106. In an exemplary embodiment, before transmitting the instructions to the coupler 204, the first encoder 410 may be configured to generate a calibration data packet including the calibration data. For example, the first encoder 410 may generate the calibration data packet using a protocol such as, but not limited to, the EPC global standard, the DOD standard, and the like.
[0124] After creating the calibration data packet, the first encoder 410 may be configured to transmit instructions to the coupler 204 via the first I / O device interface unit 408. In an exemplary embodiment, the instructions include the calibration data packet and a command that may instruct the RF tag 116 on the tag 220a to perform a predetermined operation using the calibration data packet. For example, the instructions may include a "write" command that may instruct the RF tag 116 to store the calibration data packet (accompanied by the command) in a corresponding memory, thereby encoding the RF tag 116.
[0125] Upon receiving the instruction, the coupler 204 may be configured to modulate the calibration data packet (to be encoded) on the RF carrier signal in the HF band or in the UHF band. In some examples, in addition to the calibration data packet, the coupler 204 may be configured to transmit the command (received in the instruction).
[0126] At step 612, the encoder device 106 includes means for verifying whether the calibration data is encoded in the RF tag 116 on the tag 220, such as the encoder device control system 206, the first processor 402, the calibration unit 414, the first decoder 412, the first I / O device interface unit 408, etc. Fig. 9 The verification operation is further described.
[0127] Fig. 9 A flow chart 900 is shown of a method for verifying whether an RF tag 116 has been encoded according to one or more embodiments described herein.
[0128] At step 902, the encoder device 106 may include means for transmitting an inquiry command to the RF tag 116 via the coupler 204, such as the encoder device control system 206, the first processor 402, the first decoder 412, the first I / O device interface unit 408, etc. Prior to transmitting the inquiry command, the first decoder 412 may instruct the coupler 204 to transmit an RF signal to the RF tag 116. The RF signal may induce an electrical charge in the RF tag 116, which may be used by the RF tag 116 to power itself (also known as power harvesting). Thereafter, the first decoder 412 may instruct the coupler 204 to transmit the inquiry signal. In some examples, the RF signal and the inquiry command are transmitted simultaneously. For example, the coupler 204 may modulate the inquiry command on the RF signal. In another example, the coupler 204 may be configured to transmit the inquiry command using a known standard, such as, but not limited to, the EPC global standard.
[0129] At step 904, the encoder device 106 may include means for determining whether a response to the interrogation command is received, such as the encoder device control system 206, the first processor 402, the first decoder 412, the first I / O device interface unit 408, etc. In some examples, the first decoder 412 may receive a response to the interrogation command through the coupler 204. If the first decoder 412 determines that a response to the interrogation command is received through the coupler 204, the first decoder 412 may be configured to perform step 906. However, if a response to the interrogation signal is not received, the first decoder 412 performs step 910.
[0130] At step 906, the encoder device 106 may include means for determining whether the data received in response to the interrogation command is the same as the calibration data (e.g., the calibration data transmitted in step 612) transmitted by the first encoder 410 to the RF tag 126 via the coupler 204, such as the encoder device control system 206, the first processor 402, the first decoder 412, the first I / O device interface unit 408, etc. In an exemplary embodiment and in the case where the verification unit 312 determines that the data received in response to the interrogation command is the same as the calibration data, the first decoder 412 may be configured to perform step 908. However, if the first decoder 412 determines that the data received in response to the interrogation command is not the same as the calibration data, the first decoder 412 may be configured to perform step 910.
[0131] At step 908 , the encoder device 106 may include means for determining that encoding of the RF tag 116 was successful, such as the encoder device control system 206 , the first processor 402 , the first decoder 412 , the first I / O device interface unit 408 , and the like.
[0132] At step 910 , the encoder device 106 may include means for determining that encoding of the RF tag 116 was unsuccessful, such as the encoder device control system 206 , the first processor 402 , the first decoder 412 , the first I / O device interface unit 408 , and the like.
[0133] Return to reference Figure 6 If, at step 612, the first decoder 412 determines that the encoding of the RF tag 116 is unsuccessful, the first processor 402 may be configured to perform step 614. At step 614, the encoder device 106 may include a device for causing the medium to traverse a predetermined distance along the media path 224, such as the encoder device control system 206, the first processor 402, the first decoder 412, the calibration unit 414, the first I / O device interface unit 408, etc. For example, the first I / O device interface unit 408 may activate the first electric drive device, which causes the medium to traverse a predetermined distance (e.g., 1 mm) along the media path 224. Thereafter, the first processor 402 may be configured to repeat step 610. Additionally, the first processor 614 may be configured to maintain a count of the number of times step 614 has been performed.
[0134] If, at step 612, the first decoder 412 determines that the encoding of the RF tag 116 was successful, the first processor 402 may be configured to perform step 616. At step 616, the encoder device 106 may include means for determining a total distance that the medium 218 has traversed since step 608, such as the encoder device control system 206, the first processor 402, the first decoder 412, the calibration unit 414, the first I / O device interface unit 408, etc. For example, if the first I / O device interface unit 408 performs step 614 ten times, and the predetermined distance traversed by the medium 218 along the media path 224 in each iteration of step 614 is 1 mm, then the total distance traversed by the medium 218 since step 608 is 10 mm. Based on the determined total distance, the first processor 402 determines that the RF tag 116 on the tag 220a is aligned with the coupler 204 when the medium 218 traverses the determined total distance from the position where the perforation 222 is aligned with the media sensor 304.
[0135] Thus, after the encoder device 106 operates in the calibration mode, the first processor 402 in the encoder device 106 determines the length of the tag 220a and the position of the RF tag 116 on the tag 220a (relative to the determined total distance). The encoder device 106 may be configured to utilize the determined length of the tag 220a and the position of the RF tag 116 on the tag 220a while the encoder device 106 operates in the encoding mode. In some examples, the first processor 402 may be configured to store the length of the tag 220a and the position of the RF tag 116 on the tag 220a in the first memory device 404.
[0136] In some examples, the test data used during calibration of the encoder device 106 may be different than the data to be stored on the RF tag 116 .
[0137] Fig.10 A flowchart 1000 is shown of a method for operating an encoder device 106 in an encoding mode according to one or more embodiments described herein.
[0138] At step 1002, the encoder device 106 may include a device for receiving data to be stored on the RF tag 116 from a computing device (not shown), such as the encoder device control system 206, the first processor 402, the first I / O device interface unit 408, etc. For example, the staff 115 may input the data to be stored on the RF tag 120 through the computing device (not shown). Additionally or alternatively, without departing from the scope of the present disclosure, the computing device may receive data from another computing device (not shown), such as the central server 104. After receiving the data, the computing device (not shown) may transmit the data to the encoder device 106. In an exemplary embodiment, the data may correspond to a string of characters that may represent predetermined information. For example, the predetermined information (indicated by the data) may correspond to a shipping number that can be used to track the package 112 in the warehouse 102 or when the package is in transit. In another example, the predetermined information (indicated by the data) may correspond to a unique product ID that can be used to uniquely identify a product (such as clothing) in a retail store. Therefore, in an exemplary embodiment, the predetermined information associated with the data may indicate a data category associated with the data. Some examples of data categories may include, but are not limited to, a shipping number, a unique product ID, a stock keeping unit (SKU) number, etc. In some examples, the first processor 402 may receive the data category associated with the data from a computing device (not shown) along with the data. For example, the worker 115 may provide input related to the data category associated with the data to be stored in the RF tag 116 via the computing device.
[0139] At step 1004, the encoder device 106 may include a device for parsing the data to obtain multiple data portions based on one or more first characteristics associated with each character in the data and a data category associated with the data, such as the encoder device control system 206, the first processor 402, the first encoder 410, the first I / O device interface unit 408, etc. In an exemplary embodiment, the one or more first characteristics associated with the data may include the position of the character in the data and semantic information associated with the character. In an exemplary embodiment, the semantic information associated with the character may be determined based on the position of the character in the data, the data category associated with the data, contextual information linked to the data, etc. In combination Fig.11 Determination of semantic information and parsing of data are further described.
[0140] Fig.11 A flowchart 1100 is shown of a method for parsing data according to one or more embodiments described herein.
[0141] At step 1102, the encoder device 106 may include means for determining semantic information associated with each character in the data based on the data category associated with the data, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the encoder 402 may be configured to utilize a first lookup table (stored in the first memory device 404) to determine the semantic information associated with the characters in the data. The following table shows an exemplary lookup table that the first encoder 410 may use to determine the semantic information:
[0142]
[0143] Table 1: Lookup table indicating semantic information corresponding to characters in data .
[0144] For example, in the case where the data category associated with the data is a shipping number, the first encoder 410 determines that the first six characters represent the carrier number. In addition, the first encoder 410 determines that the last five characters represent the zip code to which the package 112 is to be delivered. In an exemplary embodiment, when the data category associated with the data is a shipping number, the shipping number and the zip code are examples of semantic information associated with the first six characters and the last five characters in the data. In another example and in the case where the data category associated with the data is a SKU, the first encoder 410 determines that the first two characters correspond to a manufacturing ID. In addition, the first encoder 410 determines that the next three characters correspond to the type of product. In an exemplary embodiment, when the data category associated with the data is a SKU, the manufacturing ID and the product type correspond to the semantic information associated with the characters in the data.
[0145] At step 1104, the encoder device 106 may include means for initializing a first counter, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. For example, the first encoder 410 may initialize the value of the first counter to 1. At step 1106, the encoder device 106 may include means for determining whether the value of the first counter is greater than the total length of the data, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the total length of the data may correspond to the total number of characters in the data. For example, the total number of characters in the data may be 10.
[0146] If the first encoder 410 determines that the value of the first counter is not greater than the total length of the data, the first encoder 410 may be configured to perform step 1108. However, if the first encoder 410 determines that the value of the first counter is greater than the total length of the data, the first encoder 410 performs step 1006.
[0147] At step 1108, the encoder device 106 may include a device for retrieving a character from the data, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may be configured to retrieve a character from a position in the data indicated by the first counter. For example, if the value of the first counter is 1, the first encoder 410 retrieves the first character from the data. In another example, if the value of the first counter is 9, the first encoder 410 may be configured to retrieve the ninth character from the data.
[0148] At step 1110, the encoder device 106 may include a device for classifying characters in a data portion of a plurality of data portions, such as an encoder device control system 206, a first processor 402, a first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may be configured to classify characters based on semantic information associated with the position from which the characters have been retrieved. For example, in the case where the data corresponds to a shipping number and a character retrieved from a first position, the first encoder 410 may be configured to classify characters in a first data portion corresponding to a carrier number in a plurality of data portions. Similarly, in the case where the data corresponds to a shipping number and a character retrieved from a seventh position, the first encoder 410 may be configured to classify characters in a second data portion corresponding to a service level in a plurality of data portions. Therefore, each of the plurality of data portions is configured to store a group of characters (retrieved from the data) having the same associated semantic information. For example, the first data portion includes the group of characters representing the carrier number. Similarly, the second data portion includes the group of characters representing the service level.
[0149] At step 1112 , the encoder device 106 may include means for incrementing a first counter, such as the encoder device control system 206 , the first processor 402 , the first encoder 410 , etc. Thereafter, step 1106 is repeated.
[0150] Referring back to flowchart 1000, at step 1006, encoder device 106 may include means for encoding the plurality of data portions, such as encoder device control system 206, first processor 402, first encoder 410, etc. Fig.12 Encoding of multiple data portions is further described.
[0151] Fig.12 A flowchart 1200 for encoding multiple data portions is shown according to one or more embodiments described herein.
[0152] At step 1202, the encoder device 106 may include means for selecting a data portion from a plurality of data portions, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. At step 1204, the encoder device 106 may include means for determining a coding scheme from a plurality of coding schemes to be used to encode the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may be configured to determine the coding scheme based on one or more second characteristics associated with the data portion. In some examples, the one or more second characteristics associated with the data portion may include a count of a set of characters in the data portion. In combination Fig.13 Determining a coding scheme among a plurality of coding schemes is further described.
[0153] Fig.13 A flowchart 1300 is shown of a method for determining a coding scheme among a plurality of coding schemes according to one or more embodiments described herein.
[0154] At step 1302, the encoder device 106 may include a device for determining whether the count of a group of characters in the data portion is within a first range between a first threshold count value and a second threshold count value, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In some examples, the first range includes the first threshold count value and the second threshold count value. For example, if the first range is between 2 and 6, the first range includes 2 and 6. In some examples, the first count threshold and the second count threshold may be pre-stored in the first memory device 404 during the manufacture of the encoder device 106. In another embodiment, the first count threshold and the second count threshold may be input by the staff 115 during the operation of the encoder device 106 in the calibration mode. In some examples, the first count threshold may be a value that may be a multiple of the first integer, and the second count threshold may be a value that may be a multiple of the second integer. In an exemplary embodiment, the first integer and the second integer may be determined based on the highest common factor (HCF) of the first threshold count value and the second threshold count value, respectively. For example, if the first threshold count value is 2 and the second threshold count value is 6, the first integer and the second integer may be two and three, respectively.
[0155] If the first encoder 410 determines that the count of the group of characters in the data portion is within the first range between the first threshold count value and the second count threshold, the first encoder 410 may perform step 1303. However, if the first encoder 410 determines that the count of the group of characters in the data portion is not within the first range between the first threshold count value and the second count threshold, the first encoder 410 may be configured to perform step 1306.
[0156] At step 1303, encoder device 106 may include means for determining whether a count of a group of characters in the data portion is a multiple of a second integer, such as encoder device control system 206, first processor 402, first encoder 410, etc. If first encoder 410 determines that a count of the group of characters in the data portion is a multiple of the second integer (e.g., three), first encoder 410 may be configured to perform step 1304. However, if first encoder 410 determines that a count of a group of characters in the data portion is not a multiple of the second integer, first encoder 410 may be configured to perform step 1306.
[0157] At step 1304, the encoder device 106 may include means for determining a first encoding scheme for encoding the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc.
[0158] At step 1306, the encoder device 106 may include means for determining whether the count of a group of characters is equal to a first count threshold, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. If the first encoder 410 determines that the count of the group of characters is equal to the first count threshold, the first encoder 410 may be configured to perform step 1308. However, if the first encoder 410 determines that the count of the group of characters is not equal to the first count threshold, the first encoder 410 may be configured to perform step 1310.
[0159] At step 1308, the encoder device 106 may include means for determining a second encoding scheme for encoding the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the second encoding scheme is different from the first encoding scheme.
[0160] At step 1310, the encoder device 106 may include means for determining a third encoding scheme for encoding the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the third encoding scheme is different from the second encoding scheme and the first encoding scheme.
[0161] In some examples, the scope of the present disclosure is not limited to determining an encoding scheme from among a plurality of encoding schemes based on a count of a set of characters in a data portion, a first threshold count value, and a second threshold count value. Fig.14 Alternative methods of determining the encoding scheme are further described.
[0162] Fig.14 Another flow chart 1400 of a method for determining an encoding scheme for encoding a portion of data is shown according to one or more embodiments described herein.
[0163] At step 1402, the encoder device 106 may include means for determining a count of a group of characters in the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. At step 1404, the encoder device 106 may include means for determining whether the count of a group of characters in the data portion is divisible by a first integer, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. For example, the first encoder 410 may determine whether the count of a group of characters in the data portion is divisible by two (an example of a first integer). If the first encoder 410 determines that the count of a group of characters is divisible by the first integer, the first encoder 410 may be configured to perform step 1408. However, if the first encoder 410 determines that the count of characters is not divisible by the first integer, the first encoder 410 may be configured to perform step 1406.
[0164] At step 1406, the encoder device 106 may include means for determining a third encoding scheme for encoding the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc.
[0165] At step 1408, encoder device 106 may include means for determining whether a count of a group of characters in the data portion is divisible by a second integer, such as encoder device control system 206, first processor 402, first encoder 410, etc. For example, first encoder 410 may determine whether a count of a group of characters in the data portion is divisible by three (an example of a second integer). If first encoder 410 determines that a count of a group of characters is divisible by the second integer, first encoder 410 may be configured to perform step 1410. However, if first encoder 410 determines that a count of a group of characters is not divisible by the second integer, first encoder 410 may be configured to perform step 1412.
[0166] At step 1410, the encoder device 106 may include means for determining a first encoding scheme for encoding the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc.
[0167] At step 1412, the encoder device 106 may include means for determining a second encoding scheme for encoding the data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc.
[0168] In some examples, the scope of the present disclosure is not limited to the aforementioned techniques for determining multiple encoding schemes for multiple data portions. In an exemplary embodiment, the encoding scheme may be determined (in step 1102) based on the data category received from the worker 115. In such a scenario, the first lookup table includes information related to the multiple encoding schemes to be used to encode the multiple data portions. The following table shows a modified first lookup table that includes information related to the multiple encoding schemes to be used to encode the multiple data portions:
[0169]
[0170] Table 2: Another example of a first lookup table containing information related to multiple coding schemes .
[0171] In an exemplary embodiment, the first encoder 410 may be configured to determine a first encoding scheme based on semantic information depicted by the plurality of data portions. For example, the first encoder 410 may be configured to select a first encoding scheme for encoding a first data portion, wherein the first data portion includes a set of characters with associated semantic information as a carrier number. Similarly, the first encoder 410 may be configured to select a second encoding scheme for a second data portion, wherein the second data portion includes a set of characters with associated semantic information as a service level.
[0172] Referring back to flowchart 1200, at step 1206, encoder device 106 may include means for encoding the data portion using the selected encoding scheme to generate an encoded data portion, such as encoder device control system 206, first processor 402, first encoder 410, etc. At step 1208, encoder device 106 may include means for determining whether all data portions in the plurality of data portions have been encoded, such as encoder device control system 206, first processor 402, first encoder 410, etc. If first encoder 410 determines that all data portions have been encoded, first encoder 410 may be configured to perform step 1008. However, if first encoder 410 determines that not all data portions in the plurality of data portions have been encoded, first encoder 410 may be configured to repeat step 1202.
[0173] Return to reference flow chart 1000, at step 1008, encoder device 106 may include a device for generating encoded data, such as encoder device control system 206, first processor 402, first encoder 410, etc. In an exemplary embodiment, first encoder 410 may be configured to connect multiple encoded data parts to generate encoded data. In some examples, first encoder 410 may be configured to connect multiple encoded data parts according to the position of the characters classified in multiple data parts (having obtained multiple encoded data parts from this position). For example, first encoder 410 classifies data into two data parts, so that the first data part includes the first two characters, and the second data part includes the next three characters. In such a scene, first encoder 410 connects the encoded first data part with the second encoded data part, so that in the encoded data, the first encoded data part is before the second encoded data part.
[0174] At step 1010, the encoder device 106 may include a device for generating data packets based on the encoded data, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may be configured to connect additional data to the encoded data to generate data packets. In some examples, the additional data may include, but is not limited to, header data and error correction data. In some examples, the header data may correspond to routing information, packet information and / or a unique ID of an organization that can uniquely identify the generated encoded data. In addition, the error correction data can be used to detect and correct errors in the encoded data. In an exemplary embodiment, the first encoder 410 may be configured to generate error correction data using known error correction algorithms such as parity, checksum, cyclic redundancy check (CRC), etc. In some examples, the error correction data may be generated based on uncoded data. In an alternative embodiment, the error correction data may be generated based on the encoded data.
[0175] Before connecting the additional data to the encoded data, the first encoder 410 may be configured to encode the additional data. For example, the first encoder 410 may encode the header data and the error correction data using a third encoding scheme to generate encoded header data and encoded error correction data (collectively referred to as encoded additional data). Thereafter, the first encoder 410 may connect the encoded additional data to the encoded data to generate a data packet. In some examples, the first encoder 410 may not encode the header data and may convert the header data directly into hexadecimal form before connecting the additional data to the encoded data. An exemplary structure of a data packet is shown in FIG. Fig.15 Shown in.
[0176] Fig.15An exemplary data packet 1500 is shown according to one or more embodiments described herein. The exemplary data packet 1500 includes a first data packet field 1502 and a second data packet field 1504. In an exemplary embodiment, the first data packet field further includes a header field 1506 and an error correction data field 1508. The header field 1506 is configured to store encoded header data, and the error correction data field 1508 is configured to be encoded error correction data. In an exemplary embodiment, the second data packet field 1504 is configured to store encoded data.
[0177] In some examples, the scope of the present disclosure is not limited to appending additional data to the encoded data to generate a data packet. In an alternative embodiment, the data (received from the computing device in step 1002) may initially include a header data portion and an error correction data portion. In such an embodiment, the first encoder 410 may be configured to utilize a first lookup table (e.g., Table 3) to determine semantic information associated with characters in the received data.
[0178]
[0179] Table 3: Another example of the first lookup table indicating semantic information .
[0180] Therefore, the first encoder 410 uses Table 3 to determine that the semantic information associated with the first two characters of the data is "header data". In addition, the first encoder 410 determines that the semantic information associated with the third character of the data is "error correction data". Therefore, the first encoder 410 can be configured to parse the data to obtain multiple data parts, so that the multiple data parts include a header data part and an error correction data part. Thereafter, the first encoder 410 can be configured to perform the steps shown in flowchart 1400 or flowchart 1300 to encode the data to obtain encoded data. Alternatively, the first encoder 410 can encode the header data part and the error correction data part according to the above method to encode the additional data. Since the (initially received) data includes a header data part and an error correction data part, the encoded data obtained by encoding the data includes an encoded header data part and an encoded error correction part. Therefore, the encoded data corresponds to a data packet or is otherwise related to the data packet.
[0181] Furthermore, in embodiments where the data initially includes a header data portion and an error correction data portion, the encoder device 106 may not receive the data category as input from the operator 115. In such embodiments, the encoder device 106 may automatically determine the data category associated with the data. For example, the encoder device 106 may refer to the following second lookup table (shown in Table 4) to determine the data category associated with the data.
[0182] Referring back to flowchart 1000, at step 1012, encoder device 106 may include means for causing media 218 to traverse along media path 224, such as encoder device control system 206, first processor 402, first I / O device interface unit 408, etc. In an exemplary embodiment, first I / O device interface unit 408 may instruct first electric drive to cause rotation of media hub 202 and / or platen roller 302, which in turn causes media 218 to traverse along media path 224.
[0183] At step 1014, the encoder device 106 may include means, such as the encoder device control system 206, the first processor 402, the first I / O device interface unit 408, the signal processing unit 416, etc., for analyzing input signals received from the media sensor 304 as the media 218 traverses along the media path 224. In some examples, the signal processing unit 416 may analyze the input signals to detect peaks in the input signals.
[0184] In response to detecting the peak in the input signal, at step 1014, the encoder device 106 may include means for continuing the traversal of the medium within the total distance, such as the encoder device control system 206, the first processor 402, the first I / O device interface unit 408, etc. In an exemplary embodiment, the first I / O device interface unit 408 may be configured to cause the medium 218 to traverse the total distance using the relationship between the linear velocity traversed by the medium and the angular velocity of the first electric drive device.
[0185] After the medium 218 traverses the total distance, at step 1016, the encoder device 106 may include means for stopping the traversal of the medium 218, such as the encoder device control system 206, the first processor 402, the first I / O device interface unit 408, etc. Since the medium 218 stops after the medium 218 has traversed the total distance (starting from the case where the signal processing unit 416 detects a peak in the input signal), the RF tag 116 on the tag 220a is aligned with the coupler 204.
[0186] At step 1018, the encoder device 106 may include a device for transmitting the data packet to the RF tag 116, such as the encoder device control system 206, the first processor 402, the first I / O device interface unit 408, the first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may be configured to transmit instructions to the coupler 204 through the first I / O device interface unit 408 to transmit the data packet to the RF tag 116. In an exemplary embodiment, the instructions also include commands that can instruct the RF tag 116 on the tag 220a to perform a predetermined operation using the data packet. For example, the instructions may include a "write" command that can instruct the RF tag 116 to store the data packet (accompanied by the command) in a corresponding memory, thereby encoding the RF tag 116.
[0187] Upon receiving the instruction, the coupler 204 may be configured to modulate a data packet (to be encoded) on an RF carrier signal in the HF band or in the UHF band and transmit the data packet to the RF tag 116. In some examples, the coupler 204 may be configured to transmit a command (received in the instruction) to the RF tag 116 in addition to the data packet.
[0188] In some examples, the first encoder 410 may be configured to convert the data packet into a binary bit stream before transmitting the data packet to the RF tag 116. In addition, upon receiving the data packet (in the form of a binary bit stream), the RF tag 116 may be configured to store the data packet in the form of binary bits in a corresponding memory. Fig.21 Further shown in .
[0189] In some examples, the scope of the present disclosure is not limited to storing the data packets in the RF tag 116. In an exemplary embodiment, the encoder device 106 may be configured to additionally or alternatively print the data packets on the tag 120 instead of storing them on the RF tag 116. In such an embodiment, the first encoder 410 may be configured to convert the data packets into a marker (e.g., a barcode). Thereafter, the first processor 402 may be configured to instruct the print head 214 to print the marker on the tag 220a. In yet another embodiment, the encoder device 106 may be configured to store the data packets on the RF tag 116, and the data packets (in the form of the marker) may be printed on the tag 220a (having the RF tag 116).
[0190] After encoding the RF tag 116 with the data packet, in some examples, the worker 115 may be configured to attach a tag 220a (having the RF tag 116) to the package 112. Thereafter, the worker 115 may store the package 112 in a storage device in the warehouse 102 and / or transfer the package 112 to another warehouse. In an alternative embodiment, the package 112 may be automatically transferred to a storage device in the warehouse or to another warehouse with the aid of a robotic vehicle or a conveyor. In some examples, the worker 115 may need to track the package 112 within a storage device in the warehouse 102 or during the transportation of the package 112. In some examples, the package 112 is typically tracked by retrieving the data packet from the RF tag 116 attached to the package 112. In such a scenario, the worker 115 may utilize the decoder device 108 to retrieve the data packet from the RF tag 116. In conjunction with Fig.16 The structure of the decoder device 108 is further described.
[0191] Fig.16 A decoder device 108 is shown according to one or more embodiments described herein. In an exemplary embodiment, the decoder device 108 includes a display screen 1602, an antenna 1604, and a decoder device control system 1608. In some examples, the display screen 1602, the antenna 1604, and the decoder device control system 1608 are communicatively coupled to each other.
[0192] The display screen 1602 may include suitable logic, circuitry, interfaces, and / or code that may facilitate presenting or displaying content on the display screen 1602. In an exemplary embodiment, the display screen 1602 may be implemented using a number of known technologies, such as a cathode ray tube (CRT) based display, a liquid crystal display (LCD), a light emitting diode (LED) based display, organic LED display technology, and retina display technology. In some embodiments, the display screen 1602 may also include a touch panel, such as a thermal touch panel, a capacitive touch panel, and / or a resistive touch panel, which may enable the operator 108 to provide input to the decoder device 108.
[0193] Antenna 1604 corresponds to an active element that can be configured to generate an RF signal when a voltage signal is applied at the antenna element. For example, antenna 1604 can be configured to generate an RF signal in the HF band. In another example, antenna 1604 can generate an RF signal in the UHF band. Some examples of antenna 1604 can include, but are not limited to, a butterfly antenna, a dipole antenna, a monopole antenna, a loop antenna, etc.
[0194] The trigger button 1606 may include suitable logic and / or circuitry that may facilitate the operator 115 to provide input to the decoder device 108. In an exemplary embodiment, the trigger button 1606 may be an electromechanical button that may be configured to generate an electrical signal when the trigger button 1606 is pressed. In addition, the trigger button 1606 may be communicatively coupled to the decoder device control system 1608. In some examples, the scope of the present disclosure is not limited to the trigger button 1606 being an electromechanical button. In an alternative embodiment, the trigger button 1606 may be a touch-sensitive button or a gesture-based button 1608.
[0195] The decoder device control system 1608 may comprise suitable logic and / or circuitry that may enable the decoder device control system 1608 to control one or more operations of the decoder device 108. For example, the decoder device control system 1608 may be configured to transmit an interrogation signal to the RF tag 116, such as in conjunction with Fig.18 Furthermore, the decoder device control system 1608 may be configured to decode the data packets received from the RF tag 116. Fig.17 The structure and operation of the decoder device control system 1608 is further described.
[0196] Fig.17 A block diagram of a decoder device control system 1608 is shown, according to one or more embodiments described herein. The decoder device control system 1608 includes a second processor 1702, a second memory device 1704, a second communication interface 1706, a second I / O device interface unit 1708, and a second decoder 1710.
[0197] The second processor 1702 may be implemented as a device including one or more microprocessors with accompanying digital signal processors, one or more processors without accompanying digital signal processors, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuits, one or more computers, various other processing elements (including integrated circuits, such as, for example, application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs)), or some combination thereof. Therefore, although in Fig.171606, but in an embodiment, the second processor 1702 may include multiple processors and signal processing modules. The multiple processors may be embodied on a single electronic device or may be distributed on multiple electronic devices that are collectively configured to function as circuits of the decoder device control system 1608. The multiple processors may be in operative communication with each other and may be collectively configured to perform one or more functions of the circuits of the second control system 1606 as described herein. In an exemplary embodiment, the second processor 1702 may be configured to execute instructions stored in the second memory device 1704 or otherwise accessible to the second processor 1702. These instructions, when executed by the second processor 1702, may cause the circuits of the encoder device control system 206 to perform one or more of the functions as described herein.
[0198] Whether the second processor 1702 is configured by a hardware method, a firmware / software method, or a combination thereof, the second processor may include an entity capable of performing operations according to the embodiments of the present disclosure while being configured accordingly. Thus, for example, when the second processor 1702 is implemented as an ASIC, FPGA, etc., the second processor 1702 may include specially configured hardware for performing one or more operations described herein. Alternatively, as another example, when the second processor 1702 is implemented as an executor of instructions (such as those that may be stored in the second memory device 1704), the instructions may specifically configure the second processor 1702 to perform one or more algorithms and operations described herein.
[0199] Therefore, the second processor 1702 used herein can refer to a programmable microprocessor, a microcomputer, or one or more multiprocessor chips, which can be configured by software instructions (applications) to perform various functions including the functions of the various embodiments described above. In some devices, multiple processors dedicated to wireless communication functions and a processor dedicated to running other applications can be provided. Software applications can be stored in internal memory before being accessed and loaded into the processor. The processor may include an internal memory sufficient to store application software instructions. In many devices, the internal memory can be a volatile or non-volatile memory such as a flash memory or a mixture of the two. The memory can also be located inside another computing resource (for example, to enable computer-readable instructions to be downloaded via the Internet or another wired or wireless connection).
[0200] The second memory device 1704 may include suitable logic, circuitry, and / or interfaces adapted to store a set of instructions executable by the second processor 1702 to perform predetermined operations. Some of the commonly known memory implementations include, but are not limited to, a hard disk, a random access memory, a cache memory, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), and an electrically erasable programmable read-only memory (EEPROM), a flash memory, a cassette, a magnetic tape, a magnetic disk storage device or other magnetic storage device, a compact disk read-only memory (CD-ROM), a digital versatile disk read-only memory (DVD-ROM), an optical disk, a circuit configured to store information, or some combination thereof. In an exemplary embodiment, without departing from the scope of the present disclosure, the second memory device 1704 may be integrated with the second processor 1702 on a single chip.
[0201] The second communication interface 1706 may correspond to a communication interface that can facilitate the transmission of messages and data to various devices and the reception of messages and data from these devices. For example, the second communication interface 1706 is communicatively coupled to a computing device (not shown). For example, through the second communication interface 1706, the decoder device 108 may be configured to receive a command / job from a computing device, and the decoder device 108 may perform a predetermined operation based on the command / job. Examples of the second communication interface 1706 may include, but are not limited to, an antenna, an Ethernet port, a USB port, a serial port, or any other port that may be suitable for receiving and sending data. The second communication interface 1706 transmits and receives data and / or messages according to various communication protocols (such as I2C, TCP / IP, UDP, and 3G, 4G, 4G or 5G communication protocols).
[0202] The second I / O device interface unit 1708 may comprise suitable logic and / or circuitry that may be configured to communicate with the device according to, for example, but not limited to, an I2C communication protocol, a serial peripheral interface (SPI) communication protocol, a serial communication protocol, a control area network (CAN) communication protocol, and a The second I / O device interface unit 1708 may communicate with the display screen 1602, the antenna 1604, and the trigger button 1608 to facilitate retrieval of data packets from the RF tag 116, such as in conjunction with the decoder device 108. Fig.18 Further, some examples of the second I / O device interface unit 1708 may include, but are not limited to, a data acquisition (DAQ) card, an electric drive driver circuit, and the like.
[0203] The second decoder 1710 may comprise suitable logic and / or circuitry that may enable the encoder device 106 to retrieve the data packet from the RF tag 116, such as in conjunction with Fig.18 The first decoder 412 may be further configured to decode the encoded data in the data packet, such as in combination with Fig.18 As further described, the first decoder 412 may be implemented using one or more hardware components (such as but not limited to FPGA, ASIC, etc.).
[0204] Combination Fig.18 The operation of the decoder device 108 and the decoder device control system 1608 is described.
[0205] Fig.18 A flowchart 1800 is shown of a method for operating a decoder device 108 according to one or more embodiments described herein.
[0206] At step 1802, the decoder device 108 may include means for receiving input from the worker 115, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the second decoder 1710, etc. In an exemplary embodiment, the worker 115 may provide input via the trigger button 1606. As discussed, when the trigger button 1606 is pressed, the trigger button 1606 generates an electrical signal that is transmitted to the second I / O device interface unit 1708. In some examples, prior to receiving input via the trigger button 1606, the I / O device interface unit 408 may receive another input from the worker 118 via the display screen 1602 regarding the data category of the data that the worker 115 intends to retrieve from the RF tag 116. The second I / O device interface unit 408 may be configured to store the data category in the second memory device 1704.
[0207] In some examples, step 1802 may be optional. In such an embodiment, the operator 115 may provide input only once. Thereafter, the decoder device 108 performs step 1804 without any intervention by the operator 118.
[0208] At step 1804, the decoder device 108 may include means for transmitting an interrogation command to the RF tag 116 via the antenna 1604, such as a decoder device control system 1608, the antenna 1604, the second processor 1702, the second I / O device interface unit 1708, the second decoder 1710, etc. Prior to transmitting the interrogation command, the second decoder 1710 may instruct the antenna 1604 to transmit an RF signal to the RF tag 116. The RF signal may induce a charge in the RF tag 116, which may be used by the RF tag 116 to power itself (also known as power harvesting). Thereafter, the second decoder 1710 may instruct the antenna 1604 to transmit the interrogation signal. In some examples, the second decoder 1710 may cause the antenna 1604 to transmit the RF signal and the interrogation command simultaneously. In such an exemplary scenario, the antenna 1604 may modulate the interrogation command on the RF signal.
[0209] At step 1806, the decoder device 108 may include means for determining whether a data packet is received in response to the interrogation signal, such as the decoder device control system 1608, the antenna 1604, the second processor 1702, the second I / O device interface unit 1708, the second decoder 1710, etc. If the second decoder 1710 determines that the data packet is not received, the second decoder 1710 may be configured to repeat step 1806. However, if the second decoder 1710 receives a data packet in response to the interrogation signal, the second decoder 1710 may be configured to perform step 1808.
[0210] At step 1808, the decoder device 108 may include means for decoding the data packet, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the second decoder 1710, etc. Fig.19 The process of decoding the data packets is further described.
[0211] Fig.19 Another flow chart 1900 for decoding a data packet is shown according to one or more embodiments described herein.
[0212] At step 1902, the decoder device 108 may include means for determining the data category of the data packet (received from the RF tag 116), such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc. As discussed in step 1802, the second I / O device interface unit 1708 may receive another input regarding the data category from the operator 115, which the second I / O device interface unit 1708 stores in the second memory device 1704. Therefore, the second decoder 1710 may be configured to retrieve the data category from the second memory device 1704.
[0213] In an alternative embodiment, the second decoder 1710 may be configured to determine the data class of the data packet from the data packet. Fig. 20 Determining a data category from a data grouping is further described.
[0214] Fig. 20 A flowchart 2000 of a method for determining a category of data is shown according to one or more embodiments described herein.
[0215] At step 2002, the decoder device 108 may include means for retrieving encoded header data from a header field (e.g., header field 1506) in a first data packet field of a data packet, such as a decoder device control system 1608, a second processor 1702, a second decoder 1710, etc.
[0216] At step 2004, the decoder device 108 may include means for determining the data category based on the encoded header data, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc. In an exemplary embodiment, the second decoder 1710 may be configured to determine the data category by reference to a second lookup table (stored in the second memory device 1704). An example of the second lookup table is shown below:
[0217] Header data Data Category 1A, 3Z, 4R… Shipping Number GHX SKU
[0218] Table 4: Second lookup table showing the correspondence between encoded header data and data categories .
[0219] For example, if the second decoder 1710 determines that the encoded header data is "1A", the second decoder 1710 may determine that the data category associated with the data packet is "shipping number". Similarly, if the second decoder 1710 determines that the encoded header data is "GHX", the second decoder 1710 determines that the data category associated with the data packet is "SKU number".
[0220] Referring back to flow chart 1900, at step 1904, decoder device 108 may include a device for retrieving encoded data from the data packet, such as decoder device control system 1608, second processor 1702, second decoder 1710, etc. As discussed, the second data packet field of the data packet includes encoded data. Therefore, second decoder 1710 may be configured to retrieve encoded data from the second data packet field of the data packet. As discussed above, RF tag 116 stores data packets in the form of binary bits. Therefore, the encoded data in the data packet also includes binary bits (hereinafter referred to as multiple binary bits).
[0221] Referring back to flowchart 1900, at step 1906, the decoder device 108 may include a device for parsing the encoded data to obtain a plurality of encoded data portions, such as a decoder device control system 1608, a second processor 1702, a second decoder 1710, and the like. In some examples, the second decoder 1710 may utilize a method similar to that described in flowchart 1100. For example, the second decoder 1710 may be configured to retrieve a bin from the encoded data in a plurality of bins. Thereafter, the second decoder 1710 may be configured to refer to a third lookup table to classify the bin into a plurality of encoded data portions based on one or more third characteristics associated with the bin. In an exemplary embodiment, the one or more third characteristics associated with the bin may include the position of the bin in the encoded data. In an exemplary embodiment, the position of the bin in the encoded data may represent semantic information associated with the bin. In an exemplary embodiment, the third lookup table shows the relationship between the position of the bin and the semantic information. An example of a third lookup table is shown below:
[0222]
[0223] Table 5: Third query showing the relationship between the position of a binary bit in the encoded data and the corresponding semantic information Find table .
[0224] For example, the first 32 bits of the encoded data represent the encoded shipping number. Similarly, the next 11 bits of the encoded data represent the encoded service level.
[0225] Referring to the third lookup table, the second decoder 1710 may be configured to classify the first 32 bits of the encoded data in the first encoded data portion so that a group of binary bits in the first encoded data portion represents the encoded carrier number. Similarly, the second decoder 1710 classifies the next 11 bits of the encoded data into the second encoded data portion so that the group of binary bits in the second encoded data portion represents the encoded service level. Additionally or alternatively, the second decoder 1710 may be further configured to determine the encoding scheme used by the encoder device 106 to obtain multiple encoded data portions. For example, the second decoder 1710 may determine that a group of binary bits in the first encoded data portion and the second encoded data portion are generated by encoding a group of characters in the first data portion and the second data portion using the first encoding scheme and the second encoding scheme, respectively.
[0226] At step 1908, the decoder device 108 may include a device for decoding multiple encoded data portions using multiple decoding schemes, such as a decoder device control system 1608, a second processor 1702, a second decoder 1710, etc. In an exemplary embodiment, the second decoder 1710 may utilize different decoding schemes for multiple encoded data portions. For example, the second decoder 1710 may utilize a first decoding scheme to decode a first encoded data portion (encoded using a first encoding scheme). In an exemplary embodiment, the second decoding scheme is complementary to the second encoding scheme. In another example, the second decoder 1710 may utilize a second decoding scheme to decode a second encoded portion (encoded using a second encoding scheme). In an exemplary embodiment, the second decoding scheme is complementary to the second encoding scheme. Exemplary decoding scenarios in Fig. 22 Further shown in .
[0227] Fig.21 An exemplary scenario 2100 for encoding data according to one or more embodiments described herein is shown. Fig.10 An exemplary scenario 2100 is described.
[0228] As depicted in exemplary scenario 2100, encoder device 106 receives data "1Z1999AA101234567847654" (depicted by 2102) from a computing device (not shown). In addition, the data (depicted by 2102) includes header data (depicted by 2104) and error correction data (depicted by 2106). For example, header data 2104 in the received data is "1Z", and error correction data 2106 in the received data 2102 is "1". In some examples, encoder device 106 further receives information about a data category (depicted by 2108) associated with the received data. For example, encoder device 106 receives the data category as "shipping number" (depicted by 2108).
[0229] Then, the first encoder 410 can be configured to parse the data 2106 based on the data category associated with the data to obtain a plurality of data portions. The first encoder 410 can parse the data using the first lookup table (Table 1, Table 2, Table 3), as described in step 1102. Therefore, the first encoder 410 parses the data (depicted by 2102) to obtain six data portions, as shown below:
[0230] Data section content First data portion (depicted by 2110) 1Z Second data portion (depicted by 2112) 1 The third data portion (depicted by 2114) 999AA1 Fourth data section (depicted by 2116) 01 Fifth data section (depicted by 2118) 2345678 Sixth data portion (depicted by 2120) 47654
[0231] Table 6: Six data parts obtained from data 2102
[0232] The first data portion 2110 includes a group of characters representing header data 2104. In addition, the second data portion 2112 includes a group of characters representing error correction data 2106.
[0233] Thereafter, the first encoder 410 may be configured to encode each of the six data portions (2110-2120) by utilizing the steps described in flowcharts 1000, 1300, or 1400. Before encoding the plurality of data portions, the first encoder 410 may be configured to determine a plurality of encoding schemes to be used to encode the plurality of data portions (e.g., six data portions). In some examples, the first encoder 410 may be configured to determine a plurality of encoding schemes using another example of the first lookup table (Table 2). For example, the first encoder 410 may determine that the third data portion is to be encoded using the first encoding scheme. Similarly, the first encoder 410 may determine that the fourth data portion may be encoded using the second encoding scheme. In another example, as described in step 1010, the first encoder 410 may determine that the first data portion (which includes a set of characters representing the header data 2104) will be converted to Hex during the encoding of the six data portions (2110-2120). In addition, the first encoder 410 may be configured to determine that the second data portion is to be encoded using a binary encoding scheme during the encoding of the six data portions (2110-2120). After determining multiple encoding schemes, the first encoder 410 may be configured to encode the six data portions (2110-2120) using the corresponding encoding scheme to generate six encoded data portions (2122-2132). Thereafter, the first encoder 410 connects six of the encoded data portions (2122-2132) to generate a data packet (depicted by 2134).
[0234] In an exemplary embodiment, respectively, the first encoding scheme is a URN40 encoding scheme, the second encoding scheme is a URN 40 reduced encoding scheme, and the third encoding scheme is a binary encoding scheme. In some examples, the scope of the present disclosure is not limited to the aforementioned encoding schemes. In the example, without departing from the scope of the present disclosure, embodiments, other encoding schemes such as ASCII encoding scheme, HEX encoding scheme, etc. are used. Fig. 22 The encoding of the third data portion 2114 using the URN40 encoding scheme is further described.
[0235] Fig. 22 A flowchart 2200 of a method for encoding the third data portion 2114 using the URN 40 encoding scheme is shown according to one or more embodiments described herein.
[0236] At step 2202, the encoder device 106 includes means for selecting three characters from the third data portion (depicted by 2114), such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In some examples, the first encoder 410 may select the three characters based on the position of the characters in the data. For example, in a first iteration, the first encoder 410 may select the three characters as "999" because the characters "999" precede other characters in the data.
[0237] At step 2204, the encoder device 106 includes a device for converting the three characters into a URN 40 decimal number, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may convert each character into a URN 40 decimal number using the following fourth lookup table to generate a URN 40 number:
[0238]
[0239] Table 7: Mapping between characters in the decimal portion of the description data and URN 40 decimal numbers
[0240] Thus, during the first iteration, the first encoder 410 may convert "999" to "393939".
[0241] Thereafter, at step 2206, the encoder device 106 includes means for encoding the URN 40 number to generate an encoded URN 40 number, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the first encoder 410 may be configured to encode the URN 40 number using the following equation:
[0242] (1600*C1)+(40*C2)+C3+1(1)
[0243] in,
[0244] C1: URN 40 decimal number corresponding to the first of the three characters (e.g., 39);
[0245] C2: the URN 40 decimal number corresponding to the second character of the three characters (e.g., 39); and
[0246] C3: URN 40 decimal number corresponding to the third character of the three characters (eg, 39).
[0247] For example, the first encoder 410 may apply Equation 1 to the URN 40 number "393939" to generate an encoded URN 40 number "63964".
[0248] At step 2208, the encoder device 106 includes means for converting the encoded URN 40 number into binary bits, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. For example, the first encoder 410 may convert the encoded URN 40 number "63964" into binary bits "1111100111011100".
[0249] At step 2210, the encoder device 106 includes means for determining whether all characters in the third data portion 2114 have been encoded, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. If the first encoder 410 determines that all characters of the third data portion (depicted as 2114) have been encoded, the first encoder 410 may be configured to perform step 2212. However, if the first encoder 410 determines that all characters of the third data portion (depicted as 2114) have not been encoded, the first encoder 410 may be configured to repeat step 2202.
[0250] At step 2210, the encoder device 106 includes means for concatenating the bins (generated in step 2208) to generate a third encoded data portion, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc. In an exemplary embodiment, the third encoded data portion includes 32 bins.
[0251] Return to reference Fig.21 , the first encoder 410 may encode the fourth data portion (depicted by 2116) using URN 40 reduction (which corresponds to the second encoding scheme).
[0252] To encode the fourth data portion (depicted by 2116), the first encoder 410 may be configured to convert characters in the fourth data portion (depicted by 2116) into a URN 40 number, as described in step 2202. For example, the first encoder 410 converts the fourth data portion (depicted by 2116) "01" into the URN 40 number "3031". Thereafter, the first encoder 410 may be configured to generate the encoded URN 40 number using the following equation:
[0253] (40*C4)+C5+1(2)
[0254] in,
[0255] C4: the URN 40 decimal number corresponding to the first of the two characters (e.g., 30); and
[0256] C5: URN 40 decimal number corresponding to the second of the two characters (eg, 31).
[0257] For example, the first encoder 410 may convert the URN 40 number “3031” into the encoded URN 40 number “1232.” Furthermore, the first encoder 410 may convert the encoded URN 40 number “1232” into binary bits “10011010000.” In an exemplary embodiment, the fourth encoded data portion includes 11 binary bits.
[0258] For the remaining two data portions (ie, the fifth data portion 2118 and the sixth data portion 2120), the first encoder 410 encodes the fifth data portion 2118 and the sixth data portion 2120 using a binary encoding scheme.
[0259] Fig.23 An example scenario 2300 of decoding a data packet is shown according to one or more embodiments described herein.
[0260] The decoder device 108 receives a data packet (depicted by 2302) from the RF tag 116. The second decoder 1710 in the decoder device 108 may utilize a second lookup table (Table 4) to determine a data category associated with the data packet. To determine the data category, the second decoder 1710 may be configured to retrieve header data from the first data packet field 2304. Then, the second decoder 1710 may be configured to utilize the second lookup table to determine the data category associated with the data packet 2302, as described in step 2004. For example, the header data is "00011010" (depicted by 2305), which corresponds to "1A" in hexadecimal. The second decoder 1710 references the second lookup table to determine that the encoded data packet corresponds to "shipping number" (depicted by 2306). Thereafter, the second decoder 1710 may be configured to extract the encoded data from the second data packet field 2308 of the data packet 2302.
[0261] Thereafter, the second decoder 1710 may be configured to parse the encoded data based on the data category associated with the data packet 2302 to obtain a plurality of encoded data portions, as described in step 1906. Since the data category associated with the data packet 2302 is "shipping number" (depicted by 2306), the second decoder 1710 may parse the bins in the encoded data based on the position of the bins in the encoded data using the third lookup table (Table 5) and classify the bins in the plurality of encoded data portions. For example, the second decoder 1710 may classify the first 32 bits of the encoded data in the first encoded data portion (depicted by 2310). In addition, the second decoder 1710 may classify the next 11 bits of the encoded data in the second encoded data portion 2312. In some examples, the second decoder 1710 may classify the bins in the encoded data into four encoded data portions (2310-2316) based on the third lookup table (e.g., Table 5). In addition, the second decoder 1710 can be configured to determine, for each of the plurality of encoded data portions (2310-2316), a corresponding encoding scheme used by the encoder device 106 to generate the plurality of encoded data portions (2310-2316), as described in step 1906. For example, the second decoder 1710 can determine that the first encoding scheme (i.e., the URN 40 encoding scheme) is used to obtain the first encoded data portion 2310. In addition, the second decoder 1710 determines that the URN40 reduced encoding scheme is used to obtain the second encoded data portion 2312.
[0262] Thereafter, the second decoder 1710 may be configured to apply a plurality of decoding schemes complementary to the plurality of encoding schemes used to generate the plurality of data portions (2114-2120). For example, the second decoder 1710 may be configured to decode the first encoded data portion 2310 using the URN40 decoding scheme to generate a third data portion. In addition, the second decoder 1710 may be configured to decode the second encoded data portion 2312 using the URN40 reduced decoding scheme to generate a fourth data portion 2116. In addition, the second decoder 1710 may be configured to decode the remaining encoded data portions (the third encoded data portion 2314 and the fourth encoded data portion 2316) using a binary decoding scheme. In combination Fig.24 The URN 40 decoding scheme and the URN 40 reduced decoding scheme are further described.
[0263] Fig.24 A flowchart 2400 of a method for decoding the first encoded data portion 2310 using the URN 40 decoding scheme is shown according to one or more embodiments described herein.
[0264] At step 2402, the decoder device 108 includes means for retrieving 16 binary bits from the first encoded data portion 2310, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc. As described above in conjunction with Fig.21 and Fig. 22 As discussed, the encoding of the third data portion 2114 generates 32 binary bits. Thus, during the first iteration, the second decoder 1710 retrieves the first 16 bits from the first encoded data portion (depicted by 2310) during the first iteration.
[0265] At step 2404, the decoder device 108 includes means for converting the binary bits into the encoded URN 40 number, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc. For example, the second decoder 1710 converts the binary bits "1111100111011100" into the encoded URN 40 number "63964".
[0266] At step 2406, the decoder device 108 includes means, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc., for determining the URN 40 number by utilizing the following equation:
[0267] C3 = (encoded value - 1) modulo 40 (3)
[0268] C2 = {(encoded value - C3 - 1) modulo 1600} / 40 (4)
[0269] C1 = (encoded value - C2*40 - C3A-1) / 1600 (5)
[0270] in,
[0271] Encoded value: Encoded URN40 number
[0272] For example, using Equations 3-5, the second decoder 1710 may be configured to decode the encoded URN 40 number "63964" into the URN 40 number "393939".
[0273] At step 2406, the decoder device 108 includes means for converting the URN 40 number into characters of the data portion using the fourth lookup table, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc. For example, the second decoder 1710 may be configured to retrieve the first two digits of the URN 40 number "39" and may refer to the fourth lookup table to determine the first character "9" of the data portion. Similarly, the second decoder 1710 may determine other characters of the data portion.
[0274] At step 2408, the decoder device 108 includes means for determining whether all bins of the first encoded data portion 2310 have been decoded, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc. If the second decoder 1710 determines that not all bins of the first encoded data portion 2310 have been decoded, the second decoder 1710 may be configured to repeat step 2402. However, if the second decoder 1710 determines that all bins of the first encoded data portion 2310 have been decoded, the second decoder 1710 may be configured to perform step 2410. At step 2410, the decoder device 108 includes means for concatenating characters to form a data portion, such as the decoder device control system 1608, the second processor 1702, the second decoder 1710, etc.
[0275] To decode the second encoded data portion 2312 encoded using URN 40 compaction, the second decoder 1710 may be configured to convert the 11 binary bits (obtained by encoding the fourth data portion 2116) into a corresponding encoded URN 40 compact decimal number. For example, the second decoder 1710 may convert the binary bits "10011010000" into "1232". Thereafter, the second decoder 1710 may be configured to obtain the URN 40 number using the following equation.
[0276] C4 = (encoded value - 1) modulo 40 (6)
[0277] C5 = (encoded value – C4-1) / 40 (7)
[0278] For example, the second decoder 1710 may be configured to decode "1232" using equations 6 and 7 to obtain the URN 40 number as "3031". Thereafter, the second decoder 1710 may be configured to convert the URN 40 number into characters in the fourth data portion 2116 using the fourth lookup table. For example, the second decoder 1710 may convert the URN 40 number "3031" into "01".
[0279] Since the second decoder 1710 is capable of parsing the encoded data into a plurality of encoded data portions and independently decoding each of the plurality of encoded data portions, in an exemplary scenario, the second decoder 1710 may be able to retrieve a specific data portion rather than retrieving the entire encoded data to retrieve the specific data portion. Such capability of the second decoder 1710 is advantageous in a case where a plurality of RF tags have been installed (e.g., a storage section 106 of a warehouse 102) and a worker 115 may wish to identify an RF tag 116 that includes a specific data portion among the plurality of RF tags. Fig.25One such method of identifying an RF tag 116 storing a particular portion of data is further described.
[0280] Fig.25 A method for identifying an RF tag storing a specific data portion according to one or more embodiments described herein is shown.
[0281] At step 2502, the decoder device 108 includes a device for receiving input about a data portion to be searched in multiple RF tags 116 from the staff 115, such as a decoder device control system 1608, a second processor 1702, a second I / O device interface unit 1708, an antenna 1604, a second decoder 1710, etc. In some examples, the second I / O device interface unit 1708 may further receive input about semantic information associated with the data portion. In some examples, the data portion received from the staff 115 may correspond to only a portion of the data stored in multiple RF tags. For example, if multiple RF tags store shipping numbers, the data portion to be searched may correspond to the service level in the shipping number. In addition, the service level may correspond to the semantic information associated with the data portion. Therefore, the first I / O device interface unit 408 may receive the data portion (to be searched) and the "service level" as semantic information.
[0282] In some examples, the scope of the present disclosure is not limited to receiving input from the worker 115 regarding the portion of data to be searched for in the plurality of RF tags 116. In an alternative embodiment, the second processor 1702 may receive input (related to the portion of data to be searched for in the plurality of RF tags 116) from a remote computer or an application running on the remote computer.
[0283] At step 2504, the decoder device 108 includes a device for determining a coding scheme to be used for encoding the data portion, such as a decoder device control system 1608, a second processor 1702, a second I / O device interface unit 1708, an antenna 1604, a second decoder 1710, etc. In order to encode the data portion, the second processor 1702 may be configured to determine a coding scheme from a plurality of coding schemes to be used for encoding the data portion. In some examples, the second processor 1702 may be configured to determine the coding scheme using a first lookup table (Table 2) based on semantic information associated with the data portion. For example, the second processor 1702 may determine (using the first lookup table (Table 2)) that the data portion representing the service level is to be encoded using the second coding scheme.
[0284] Therefore, at step 2506, the decoder device 108 includes means for encoding the data portion using the determined encoding scheme, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the antenna 1604, the second decoder 1710, etc. For example, the second processor 1702 may be configured to encode the data portion (hereinafter referred to as the encoded data portion) using the second encoding scheme.
[0285] At step 2508, the decoder device 108 includes means for transmitting an interrogation command to the plurality of RF tags, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the antenna 1604, the second decoder 1710, etc. In some examples, the second decoder 1710 may be configured to transmit the interrogation command to the RF tags 116 using the method described in step 1802. In an exemplary embodiment, the interrogation command may include an encoded data portion.
[0286] Upon receiving the interrogation signal, each of the plurality of RF tags may be configured to compare the encoded data portion with the data portion in the data packet to determine whether the encoded data portion is present in the RF tag. If the encoded data portion is present in the RF tag, the RF tag may respond by transmitting the data packet. If the encoded data portion is not present in the RF tag, the RF tag does nothing.
[0287] At step 2510, the decoder device 108 includes means for determining whether a data packet is received from an RF tag of the plurality of RF tags, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the antenna 1604, the second decoder 1710, etc. If the second decoder 1710 receives a data packet from the RF tag, the second decoder 1710 may be configured to perform step 2512. However, if the second decoder 1710 does not receive a data packet in response to the transmission of the interrogation signal, the second decoder 1710 may be configured to perform step 2514.
[0288] At step 2512, the decoder device 108 includes means for notifying the worker 115 (e.g., on the display screen 1602) that an RF tag in the plurality of RF tags has been identified, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the antenna 1604, the second decoder 1710, etc. At step 2514, the decoder device 108 includes means for notifying the worker 115 (e.g., on the display screen 1602) that an RF tag in the plurality of RF tags has not been identified, such as the decoder device control system 1608, the second processor 1702, the second I / O device interface unit 1708, the antenna 1604, the second decoder 1710, etc.
[0289] Fig.26 A flowchart 2600 of a method for encoding data according to one or more embodiments described herein is shown.
[0290] At step 2602, the encoder device 106 includes a device for parsing data into multiple data portions (wherein the one or more first characteristics include at least the position of the one or more characters in the data) based on one or more first characteristics associated with each of one or more characters in the data by a processor, such as an encoder device control system 206, a first processor 402, a first encoder 410, etc.
[0291] At step 2604, the encoder device 106 includes a device for encoding multiple data parts using multiple coding schemes by a processor to generate data packets, so that a first data part of the multiple data parts is encoded using a first coding scheme among the multiple coding schemes, and a second data part of the multiple data parts is encoded using a second coding scheme among the multiple coding schemes (wherein the first coding scheme is different from the second coding scheme), such as an encoder device control system 206, a first processor 402, a first encoder 410, etc.
[0292] At step 2606, the encoder device 106 includes means for transmitting the data packets to a storage medium to store the data packets on the storage medium, such as the encoder device control system 206, the first processor 402, the first encoder 410, etc.
[0293] Fig. 27 A flowchart 2700 of a method for decoding a data packet is shown according to one or more embodiments described herein.
[0294] At step 2702, the decoder device 108 includes a device for retrieving header data and encoded data from data packets received from a storage medium by a processor, such as a decoder device control system 1608, a second processor 1702, a second I / O device interface unit 1708, an antenna 1604, a second decoder 1710, etc.
[0295] At step 2704, the decoder device 108 includes a device for parsing the encoded data by a processor to classify multiple binary bits in the encoded data into multiple encoded data parts based on at least header data, such as a decoder device control system 1608, a second processor 1702, a second I / O device interface unit 1708, an antenna 1604, a second decoder 1710, etc.
[0296] At step 2706, the decoder device 108 includes a device for determining multiple decoding schemes based on header data by a processor to decode multiple encoded data portions, such as a decoder device control system 1608, a second processor 1702, a second I / O device interface unit 1708, an antenna 1604, a second decoder 1710, etc.
[0297] At step 2708, the decoder device 108 includes a device for decoding multiple encoded data parts using multiple decoding schemes by a processor to generate data (wherein a first encoded data part of the multiple encoded data parts is decoded using a first decoding scheme among the multiple decoding schemes, and a second encoded data part of the multiple encoded data parts is decoded using a second decoding scheme among the multiple decoding schemes, and wherein the first decoding scheme is different from the second decoding scheme), such as a decoder device control system 1608, a second processor 1702, a second I / O device interface unit 1708, an antenna 1604, a second decoder 1710, etc.
[0298] In some example embodiments, some of the operations herein may be modified or further amplified as described below. In addition, in some embodiments, additional optional operations may also be included. It should be understood that each of the modifications, optional additions, or amplifications described herein may be included in the operations herein, either individually or in combination with any other features described herein.
[0299] The foregoing method descriptions and process flow charts are provided as illustrative examples only, and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by those skilled in the art, the order of steps in the above-described embodiments may be performed in any order. Words such as "afterwards," "then," "next," etc. are not intended to limit the order of steps; these words are only used to guide the reader to understand the description of the method. In addition, for example, any reference to a claim element in the singular form using the articles "a," "a kind," or "the" should not be construed as limiting the element to the singular.
[0300] Hardware for implementing the various illustrative logics, logic blocks, modules, and circuits described in conjunction with the various aspects disclosed herein may include a general-purpose processor, a digital signal processor (DSP), a special-purpose processor such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA), a programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, processor 402 may be any processor, controller, or state machine. Processor 402 may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively or in addition, some steps or methods may be performed by circuits specific to a given function.
[0301] In one or more exemplary embodiments, the functions described herein may be implemented by a combination of dedicated hardware or hardware programmed by firmware or other software. In an implementation that relies on firmware or other software, these functions may be performed due to the execution of one or more instructions stored on one or more non-transient computer-readable media and / or one or more non-transient processor 402 readable media. These instructions may be embodied by one or more processor 402 executable software modules residing on one or more non-transient computer-readable or processor 402 readable storage media. In this regard, non-transient computer-readable or processor 402 readable storage media may include any storage medium accessible by a computer or processor 402. By way of example and not limitation, such non-transient computer-readable or processor 402 readable media may include RAM, ROM, EEPROM, flash memory, disk storage devices, magnetic storage devices, etc. As used herein, disk storage devices include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and blue discs TM, or other storage devices that use lasers to store data magnetically or optically. Combinations of the above types of media are also included within the scope of the term non-transitory computer-readable and processor 402-readable media. Additionally, any combination of instructions stored on one or more non-transitory processor 402-readable or computer-readable media may be referred to herein as a computer program product.
[0302] Many modifications and other embodiments of the invention set forth herein will occur to those skilled in the art having the benefit of the teachings presented in the foregoing description and associated drawings. Although the drawings show only certain components of the apparatus and systems described herein, it should be understood that various other components may be used in conjunction with the supply management system. Therefore, it should be understood that the invention is not limited to the specific embodiments disclosed, and modifications and other embodiments are intended to be included within the scope of the appended claims. In addition, the steps in the above-described method may not necessarily occur in the order depicted in the drawings, and in some cases, one or more of the depicted steps may occur substantially simultaneously, or may involve additional steps. Although specific terms are employed herein, they are used only in a general and descriptive sense, and not for purposes of limitation.
Claims
1. A method for decoding a data packet, include: retrieving, by the processor, the header data and the encoded data from the data packet received from the storage medium; parsing, by the processor, the coded data to sort a plurality of bins in the coded data into a plurality of coded data portions based on at least the header data, wherein parsing the coded data packets comprises determining semantic information associated with the coded data based on the header data, wherein the coded data is sorted into the plurality of coded data portions based on the semantic information; determining, by the processor, a plurality of decoding schemes for decoding the plurality of encoded data portions based on the header data; as well as At least one of the multiple encoded data parts is decoded by the processor using the multiple decoding schemes to generate at least one of a first data part and a second data part, wherein a first encoded data part of the multiple encoded data parts is decoded using a first decoding scheme of the multiple decoding schemes, and a second encoded data part of the multiple encoded data parts is decoded using a second decoding scheme of the multiple decoding schemes that is different from the first decoding scheme.
2. A method as claimed in claim 1, wherein the first encoded data portion is encoded using a first encoding scheme and the second encoded data portion is encoded using a second encoding scheme, wherein the first encoding scheme is determined in response to determining that the count of characters in the first data portion is a multiple of an integer within a first range between a first threshold count value and a second threshold count value.
3. The method of claim 1, wherein parsing the encoded data by the processor further comprises: include: retrieving a bin of the plurality of bins from the encoded data; and Classifying the bin into one of the plurality of coded data portions based on one or more features associated with the bin, wherein the one or more features include a position of the bin in the coded data representing semantic information associated with the bin, and the semantic information associated with the position of one or more characters in the coded data includes a shipping number, a class of service, an identifier number, and a postal code.
4. The method of claim 1, wherein the storage medium corresponds to at least one of a print medium or a radio frequency (RF) tag.
5. The method according to claim 2, further comprising: include: sorting a first set of bins in the coded data into the first coded data portion, and sorting a second set of bins in the coded data into the second coded data portion; as well as Determine that a first group of binary bits in the first encoded data portion and a second group of binary bits in the second encoded data portion are generated by encoding a first group of characters in the first data portion and a second group of characters in the second data portion using the first encoding scheme and the second encoding scheme, respectively.
6. The method of claim 1, further comprising determining a data category based on the header data, wherein the data category is at least one of a shipping number or a SKU.
7. The method of claim 1, wherein the first decoding scheme is a Uniform Resource Name (URN 40) decoding scheme, and the second decoding scheme is a URN 40 reduced decoding scheme.
8. The method of claim 2, wherein the first encoding scheme is a Uniform Resource Name (URN) 40 encoding scheme, and the second encoding scheme is a URN 40 reduced encoding scheme.
9. A computer-readable medium comprising a memory storing computer-executable instructions and a processor executing the computer-executable instructions to perform an operation, the operation include: retrieving header data and encoded data from a data packet received from a storage medium; parsing the encoded data to classify a plurality of bins in the encoded data into a plurality of encoded data portions based on at least the header data, wherein parsing the encoded data comprises determining semantic information associated with the encoded data based on the header data, wherein the encoded data is classified into the plurality of encoded data portions based on the semantic information; determining a plurality of decoding schemes for decoding the plurality of encoded data portions based on the header data; as well as Decode at least one of the multiple encoded data parts using the multiple decoding schemes to generate at least one of a first data part and a second data part, wherein a first encoded data part among the multiple encoded data parts is decoded using a first decoding scheme among the multiple decoding schemes, and a second encoded data part among the multiple encoded data parts is decoded using a second decoding scheme among the multiple decoding schemes that is different from the first decoding scheme.
10. A computer-readable medium as described in claim 9, wherein the first encoded data portion is encoded using a first encoding scheme and the second encoded data portion is encoded using a second encoding scheme, wherein the first encoding scheme is determined in response to determining that the count of characters in the first data portion is a multiple of an integer within a first range between a first threshold count value and a second threshold count value.