Barcode decoder apparatus and related methods

By using neural processing units and processors combined with region-of-interest machine learning models and decoders, the problems of low efficiency and insufficient decoding capabilities of existing barcode decoder devices are solved, achieving efficient and fast decoding of multiple barcode classification types.

CN121920390APending Publication Date: 2026-04-24HAND HELD PRODS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HAND HELD PRODS INC
Filing Date
2024-10-23
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing barcode decoder devices and methods are inefficient, technically flawed, and overly simplistic. They cannot effectively decode different barcode classification types, nor can they complete the decoding task within a specific timeframe. Furthermore, they lack multiple preprocessing machine learning models for image processing.

Method used

The system employs neural processing units and processors to recognize image data, generates region-of-interest (ROI) image data through a region-of-interest machine learning model, and generates decoded barcode data using a fast linear decoder or ensemble decoder for the RIO. The system then combines multiple preprocessing machine learning models for image processing.

Benefits of technology

It achieves efficient and technically sufficient barcode decoding, can complete the decoding task within a specific time, supports decoding of multiple barcode classification types, and improves decoding efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121920390A_ABST
    Figure CN121920390A_ABST
Patent Text Reader

Abstract

Systems, apparatuses, methods, and computer program products are provided herein. For example, a method may include identifying, by one or more processors, image data. In some embodiments, the image data represents an image that includes one or more barcodes. In some embodiments, a method includes generating, by a neural processing unit, region-of-interest image data by applying the image data to a region-of-interest machine learning model. In some embodiments, a method includes generating, by one or more processors, decoded barcode data by applying region of interest image data to a first decoder. In some embodiments, a method includes initiating, by one or more processors, execution of one or more actions based at least in part on decoded barcode data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments disclosed herein generally relate to barcode decoder devices and related methods. Background Technology

[0002] The applicant has identified numerous technical challenges and difficulties associated with barcode decoder devices and related methods. Through applied effort, ingenuity, and innovation, the applicant has addressed the problems associated with barcode decoder devices and related methods by developing solutions embodied in this disclosure, which are described in detail below. Summary of the Invention

[0003] The various embodiments described herein relate to barcode decoder devices and related methods.

[0004] According to one aspect of this disclosure, a method is provided. In some embodiments, the method includes recognizing image data by one or more processors. In some embodiments, the image data represents an image including one or more barcodes. In some embodiments, the method includes generating region-of-interest (ROI) image data by a neural processing unit by applying the image data to a region-of-interest machine learning model. In some embodiments, the RIO image data represents one or more regions of interest in an image. In some embodiments, each of the one or more RIO regions is associated with at least one corresponding barcode of one or more barcodes. In some embodiments, the method includes generating decoded barcode data by one or more processors by applying the RIO image data to a first decoder. In some embodiments, the first decoder includes a region-of-interest fast linear decoder or a region-of-interest ensemble decoder. In some embodiments, the method includes initiating the execution of one or more actions by one or more processors at least partially based on the decoded barcode data.

[0005] In some embodiments, the method includes recognizing second image data by one or more processors.

[0006] In some embodiments, the second image data represents a second image that includes one or more other barcodes.

[0007] In some embodiments, the method includes generating second decoded barcode data by one or more processors by applying image data to a fast linear decoder.

[0008] In some embodiments, the method includes recognizing second image data by one or more processors.

[0009] In some embodiments, the second image data represents a second image that includes one or more other barcodes.

[0010] In some embodiments, the method includes generating second decoded barcode data by one or more processors by applying image data to an integrated decoder.

[0011] In some embodiments, the method includes recognizing second image data by one or more processors.

[0012] In some embodiments, the second image data represents a second image that includes one or more other barcodes.

[0013] In some embodiments, the method includes applying second image data to a region-of-interest machine learning model.

[0014] In some embodiments, the method includes determining a region of interest by one or more processors when a machine learning model fails to generate second region of interest image data based on second image data.

[0015] In some embodiments, the method includes generating second decoded barcode data by one or more processors by applying image data to a fast linear decoder or an integrated decoder.

[0016] In some embodiments, the method includes recognizing second image data by one or more processors.

[0017] In some embodiments, the second image data represents a second image that includes one or more other barcodes.

[0018] In some embodiments, the method includes determining, by one or more processors, that a machine learning model for a region of interest does not meet a training threshold.

[0019] In some embodiments, the method includes generating second decoded barcode data by one or more processors by applying image data to a fast linear decoder or an integrated decoder.

[0020] In some embodiments, the method includes processing region-of-interest image data by a neural processing unit in one or more of a plurality of preprocessed machine learning models.

[0021] In some embodiments, the plurality of preprocessing machine learning models include one or more of a light preprocessing machine learning model, a contrast preprocessing machine learning model, a resolution preprocessing machine learning model, or a deblurring preprocessing machine learning model.

[0022] In some embodiments, the region of interest machine learning model is associated with one of a plurality of integer data types.

[0023] In some embodiments, the plurality of integer data types include a 32-bit integer data type, a 16-bit integer data type, an 8-bit integer data type, and a 4-bit integer data type.

[0024] In some embodiments, the method includes recognizing second image data by one or more processors.

[0025] In some embodiments, the second image data represents a second image including optical character information.

[0026] In some embodiments, the method includes generating second region-of-interest image data by a neural processing unit by applying second image data to a region-of-interest machine learning model.

[0027] In some embodiments, the second region of interest image data represents one or more second regions of interest in the image.

[0028] In some embodiments, each of one or more second regions of interest is associated with optical property information.

[0029] In some embodiments, the method includes having one or more processors convert a region-of-interest machine learning model from a floating-point data type to an integer data type.

[0030] In some embodiments, the method includes initializing a region of interest machine learning model in response to receiving a start trigger.

[0031] In some embodiments, the method includes training a region-of-interest machine learning model by a neural processing unit based at least in part on one or more of historical image data, historical region-of-interest image data, or historical decoded barcode data.

[0032] In some embodiments, the method includes determining the number of regions of interest (ROIs) among one or more regions of interest by one or more processors.

[0033] In some embodiments, the method includes determining the number of pixels in each of one or more regions of interest by one or more processors.

[0034] In some embodiments, the method includes generating a region of interest timeout parameter based on the number of regions of interest and the number of pixels in each region of interest.

[0035] In some embodiments, the method includes applying second region of interest image data to a first decoder by one or more processors.

[0036] In some embodiments, the method includes one or more processors determining that a timeout parameter for the region of interest has been exceeded.

[0037] In some embodiments, the method includes terminating the first decoder in response to determining that a timeout parameter for the region of interest has been exceeded.

[0038] In some embodiments, the method includes generating one or more status flags associated with image data of the region of interest by one or more processors.

[0039] In some embodiments, the method includes storing one or more status flags by one or more processors.

[0040] In some embodiments, initiating the execution of one or more actions by one or more processors includes outputting audible alarms by one or more processors.

[0041] In some embodiments, the execution of one or more actions initiated by one or more processors includes capturing second image data in response to generating decoded barcode data.

[0042] In some embodiments, the execution of one or more actions initiated by one or more processors includes generating a decoded barcode interface component by one or more processors.

[0043] In some embodiments, the barcode decoding interface component includes one or more barcode decoding interface elements.

[0044] In some embodiments, initiating the execution of one or more actions by one or more processors includes causing the decoded barcode interface component to be presented to the operation interface by one or more processors.

[0045] In some embodiments, initiating the execution of one or more actions by one or more processors includes transmitting decoded barcode data to an external computing device by one or more processors.

[0046] According to another aspect of this disclosure, an apparatus is provided. In some embodiments, the apparatus includes a memory and one or more processors communicatively coupled to the memory. In some embodiments, the one or more processors are configured to recognize image data. In some embodiments, the image data represents an image including one or more barcodes. In some embodiments, the one or more processors are configured to generate region-of-interest (ROI) image data by a neural processing unit by applying the image data to a RIO machine learning model. In some embodiments, the RIO image data represents one or more RIOs in an image. In some embodiments, each of the one or more RIOs is associated with at least one corresponding barcode of one or more barcodes. In some embodiments, the one or more processors are configured to generate decoded barcode data by applying the RIO image data to a first decoder. In some embodiments, the first decoder includes a region-of-interest fast linear decoder or a region-of-interest ensemble decoder. In some embodiments, the one or more processors are configured to initiate the execution of one or more actions based at least in part on the decoded barcode data.

[0047] According to another aspect of this disclosure, a computer program product is provided. In some embodiments, the computer program product includes at least one non-transitory computer-readable storage medium having computer program code stored thereon. In some embodiments, computer program code executed by one or more processors configures the computer program product to recognize image data by one or more processors. In some embodiments, the image data represents an image including one or more barcodes. In some embodiments, computer program code executed by one or more processors configures the computer program product to generate region-of-interest (ROI) image data by a neural processing unit by applying the image data to a RIO machine learning model. In some embodiments, the RIO image data represents one or more RIOs in an image. In some embodiments, each of the one or more RIOs is associated with at least one corresponding barcode of one or more barcodes. In some embodiments, computer program code executed by one or more processors configures the computer program product to generate decoded barcode data by one or more processors by applying the RIO image data to a first decoder. In some embodiments, the first decoder includes a region-of-interest fast linear decoder or a region-of-interest integrated decoder. In some embodiments, computer program code executed by one or more processors configures the computer program product to initiate the execution of one or more actions by one or more processors at least in part based on the decoded barcode data. Attached Figure Description

[0048] Referring now to the accompanying drawings. The components illustrated in the drawings may or may not be present in some embodiments described herein. According to exemplary embodiments of this disclosure, some embodiments may include fewer (or more) components than shown in the drawings.

[0049] Figure 1 Example diagrams are shown of an environment in which embodiments of the present disclosure may be operated;

[0050] Figure 2 An example block diagram of an example device specifically configured according to an example embodiment of the present disclosure is shown;

[0051] Figure 3 An example apparatus according to an example embodiment of the present disclosure is shown;

[0052] Figure 4 Example images are shown according to one or more embodiments of this disclosure;

[0053] Figure 5 An apparatus architecture according to one or more embodiments of the present disclosure is shown;

[0054] Figure 6 Example interfaces according to one or more embodiments of this disclosure are shown;

[0055] Figure 7 A flowchart of an example method according to one or more embodiments of the present disclosure is shown;

[0056] Figure 8 A flowchart of an example method according to one or more embodiments of the present disclosure is shown;

[0057] Figure 9 A flowchart of an example method according to one or more embodiments of the present disclosure is shown;

[0058] Figure 10 A flowchart of an example method according to one or more embodiments of the present disclosure is shown;

[0059] Figure 11 A flowchart of an example method according to one or more embodiments of the present disclosure is shown;

[0060] Figure 12 A flowchart illustrating an example method according to one or more embodiments of the present disclosure is shown; and

[0061] Figure 13 A flowchart of an example method according to one or more embodiments of the present disclosure is shown. Detailed Implementation

[0062] Some embodiments of this disclosure will now be described more fully herein with reference to the accompanying drawings, which illustrate some, but not all, of the embodiments of this disclosure. In fact, various embodiments of this disclosure may be embodied in many different forms and should not be construed as limiting to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Throughout the text, the same reference numerals refer to the same elements.

[0063] As used herein, the term “comprising” means including but not limited to, and should be interpreted in the manner commonly used in the patent context. The use of broader terms such as including, comprising, and having should be understood to provide support for narrower terms such as consisting of, substantially consisting of, and essentially consisting of.

[0064] The phrases “in one embodiment,” “according to one embodiment,” “in some embodiments,” etc., generally mean that a particular feature, structure, or characteristic following the phrase may be included in at least one embodiment of this disclosure, and may be included in more than one embodiment of this disclosure (importantly, such phrases do not necessarily refer to the same embodiment).

[0065] The terms “example” or “exemplary” are used herein to mean “served 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.

[0066] If the specification states that a component or feature "may," "can," "possibly," "should," "will," "preferably," "possibly," "usually," "optionally," "for example," "often," or "maybe" (or other such language) be included or have that characteristic, then the particular component or feature does not need to be included or have that characteristic. Such components or features may be optionally included in some embodiments, or they may be excluded.

[0067] The use of the term "circuit" in this document, in relation to components of a system or apparatus, should be understood to include specific hardware configured to perform functions associated with the particular circuit described herein. The term "circuit" should be broadly understood to include hardware, and in some embodiments, includes software for configuring the hardware. For example, in some embodiments, "circuit" may include processing circuitry, communication circuitry, input / output circuitry, etc. In some embodiments, other elements may provide or supplement the functionality of a particular circuit. Alternatively or additionally, in some embodiments, other elements of the system and / or apparatus described herein may provide or supplement the functionality of another particular set of circuits. For example, a processor may provide processing functionality to any of the set of circuits, a memory may provide storage functionality to any of the set of circuits, a communication circuit may provide network interface functionality to any of the set of circuits, etc.

[0068] Overview

[0069] The exemplary embodiments disclosed herein solve technical problems associated with barcode decoder devices and related methods. As those skilled in the art to which this disclosure pertains will understand, there are numerous example scenarios in which barcode decoder devices and related methods are desired.

[0070] In many applications, the use of barcode decoder devices and related methods may be desired. For example, in a warehouse setup, tracking inventory by using a barcode decoder device to identify objects leaving the warehouse can be useful. As another example, in a warehouse setup, tracking inventory by using a barcode decoder device to identify objects moving within the warehouse can be useful. As yet another example, in a warehouse setup, tracking inventory by using a barcode decoder device to identify objects entering the warehouse can be useful.

[0071] Example solutions for barcode decoder devices and related methods involve using a barcode decoder device to capture a barcode image and then using a decoder to decode the barcode. However, such example solutions are inefficient, technically flawed, and simplistic. For example, such example solutions are inefficient because they do not include multiple processing paths specifically configured to decode barcodes associated with different barcode classification types. In this respect, for example, such example solutions do not include a fast linear decoding path for a first barcode classification type, an ensemble decoding path for a second barcode classification type, and a machine learning path that can handle both the first and / or second barcode classification types. As another example, such example solutions are technically flawed because they cannot decode barcodes within a specific time constraint, such as 5 milliseconds (e.g., because such example solutions do not use machine learning and parallel processing paths). In this respect, for example, such example solutions cannot decode barcodes within a specific time constraint because they do not use techniques such as parallel processing paths, machine learning image processing using machine learning models associated with integer data types, initialization of machine learning models, etc. As another example, such sample solutions are overly simplistic because they lack multiple preprocessing machine learning models to perform image processing techniques on the generated region of interest data. Therefore, there is a need for barcode decoder devices and related methods capable of performing barcode decoding in an efficient, technically sufficient, and sophisticated manner.

[0072] Therefore, to address these and / or other issues associated with such example solutions, this document discloses example barcode decoder devices and related methods. For example, embodiments of this disclosure, described in more detail below, include a method comprising recognizing image data by one or more processors. In some embodiments, the image data represents an image including one or more barcodes. In some embodiments, the method includes generating region-of-interest (ROI) image data by a neural processing unit by applying the image data to a region-of-interest machine learning model. In some embodiments, the RIO image data represents one or more regions of interest in an image. In some embodiments, each of the one or more RIO regions is associated with at least one corresponding barcode of one or more barcodes. In some embodiments, the method includes generating decoded barcode data by one or more processors by applying the RIO image data to a first decoder. In some embodiments, the first decoder includes a region-of-interest fast linear decoder or a region-of-interest integrated decoder. In some embodiments, the method includes initiating the execution of one or more actions by one or more processors at least partially based on the decoded barcode data. Therefore, the barcode decoder devices and related methods provided herein enable barcode decoding in an efficient, technically sufficient, and sophisticated manner.

[0073] Example systems and devices

[0074] The embodiments disclosed herein are barcode decoder devices and related methods. It should be readily understood that, in addition to those expressly described herein, the embodiments of the barcode decoder devices and related methods described herein can be configured in various additional and alternative ways.

[0075] Figure 1 An environment 100 in which embodiments of this disclosure may be operated is illustrated. For example, environment 100 may be a warehouse environment. In some embodiments, environment 100 includes a barcode decoder device 102. In some embodiments, barcode decoder device 102 may be any type of barcode decoder device. For example, barcode decoder device 102 may be a handheld barcode decoder device, such as... Figure 3 As shown in the image.

[0076] In some embodiments, the barcode decoder device 102 includes a flash illumination source 104. In some embodiments, the barcode decoder device 102 includes an imaging lens 106. In some embodiments, the barcode decoder device 102 includes a manual trigger 108. In this regard, in some embodiments, the imaging lens 106, the flash illumination source 104, and / or the manual trigger 108 can be used to capture image data, identify optical characteristic information, and / or decode barcodes by the barcode decoder device 102.

[0077] In some embodiments, environment 100 includes object 110. In some embodiments, object 110 is any object that can be associated with a barcode. For example, in the context of a warehouse environment, the object could be a package. In some embodiments, the object includes one or more barcodes 112. Alternatively or additionally, object 110 is any object that can be associated with optical property information. In some embodiments, the object includes optical property information 114.

[0078] In some embodiments, the barcode decoder device 102 is associated with a determinable location. In some embodiments, the determinable location of the barcode decoder device 102 represents the absolute location of the barcode decoder device 102 (e.g., GPS coordinates, latitude and longitude location, home location, etc.) or relative location (e.g., an identifier representing the location of the barcode decoder device 102 relative to one or more other barcode decoder devices, a home location (e.g., the location where the barcode decoder device 102 is stored), and / or a general description of the world, for example, based at least in part on continents, states, oceans, or other definable regions). In some embodiments, the barcode decoder device 102 includes or is otherwise associated with location sensors and / or software-driven location services that provide location data corresponding to the barcode decoder device 102. In other embodiments, the location of the barcode decoder device 102 is stored and / or additionally determinable to one or more systems.

[0079] In some embodiments, the barcode decoder device 102 is electronically and / or communicatively coupled to one or more other devices, such as display devices, cloud computing devices (e.g., servers that provide content to and / or receive content from the barcode decoder device 102), local computing devices, and / or other barcode decoder devices. In some embodiments, the barcode decoder device 102 is located remotely from one or more other devices and is electronically and / or communicatively coupled to one or more other devices via a network. Additionally or alternatively, the barcode decoder device 102 is located near one or more other devices and is electronically and / or communicatively coupled to one or more other devices via a network (e.g., a short-range network) and / or through one or more physical connections. In some embodiments, the barcode decoder device 102 is configured via hardware, software, firmware, and / or a combination thereof to perform data ingestion of one or more types of data, such as image data, region-of-interest image data, decoded barcode data, etc.

[0080] Additionally or alternatively, in some embodiments, the barcode decoder device 102 is configured via hardware, software, firmware, and / or a combination thereof to generate and / or transmit commands(s) that control, adjust, or otherwise affect the operation of one or more other devices and / or components of the barcode decoder device 102. Additionally or alternatively, in some embodiments, the barcode decoder device 102 is configured via hardware, software, firmware, and / or a combination thereof to perform data reporting, data provision, and / or other data output processes associated with monitoring or otherwise analyzing the operation of one or more other devices and / or components of the barcode decoder device 102. For example, in various embodiments, the barcode decoder device 102 may be configured to perform and / or implement one or more operations and / or functions described herein.

[0081] Figure 2 An example block diagram of an example device specifically configured according to example embodiments of the present disclosure is shown. Specifically, Figure 2 An example computing device 200 (“device 200”) specifically configured according to at least some example embodiments of the present disclosure is depicted. For example, computing device 200 may be embodied as one or more of a specifically configured personal computing device, a specifically configured cloud-based computing device, or a specifically configured embedded computing device (e.g., configured for edge computing, etc.). Examples of device 200 may include, but are not limited to, barcode decoder device 102. Device 200 includes processor 202, memory 204, input / output circuitry 206, communication circuitry 208, and / or neural processing unit 210. In some embodiments, device 200 is configured to perform and implement the operations described herein.

[0082] While the components are described with respect to functional limitations, it should be understood that a particular implementation necessarily involves the use of specific computing hardware. It should also be understood that in some embodiments, certain components described herein include similar or common hardware. For example, in some embodiments, two sets of circuits utilize the same processor(s), memory(s), circuit(s), etc., to perform their related functions, such that no duplicate hardware is required for each set of circuits.

[0083] In various embodiments, computing device 200, such as barcode decoder device 102, can refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, laptops, laptop computers, distributed systems, servers, etc., and / or any combination of devices or entities suitable for performing the functions, operations, and / or processes described herein. Such functions, operations, and / or processes can include, for example, transmitting, receiving, operating, processing, displaying, storing, determining, creating / generating, monitoring, evaluating, comparing, and / or similar terms used herein. In one embodiment, these functions, operations, and / or processes can be performed on data, content, information, and / or similar terms used herein. In this respect, device 200 embodies a specific, specially configured computing entity that is transformed to implement the specific operations described herein and provide the specific advantages associated with them, as described herein.

[0084] Processor 202 or processor circuitry 202 can be embodied in many different ways. In various embodiments, the term "processor" should be understood to include a single-core processor, a multi-core processor, multiple processors within device 200, and / or one or more remote or "cloud" processors external to device 200. In some example embodiments, processor 202 may include one or more processing devices configured to execute independently. Alternatively or additionally, processor 202 may include one or more processors configured in series via a bus to enable independent execution of operations, instructions, pipelines, and / or multithreading.

[0085] In one example embodiment, processor 202 may be configured to execute instructions stored in memory 204 or otherwise accessible to the processor. Alternatively or additionally, processor 202 may be configured to execute hard-coded functions. Thus, whether configured by hardware or software methods, or by a combination thereof, processor 202 may represent an entity (e.g., physically contained in circuitry) capable of performing operations according to embodiments of this disclosure. Alternatively or additionally, processor 202 may embody an executor of software instructions, and the instructions may specifically configure processor 202 to perform various algorithms embodied in one or more operations described herein when executing such instructions. In some embodiments, processor 202 includes hardware, software, firmware, and / or combinations thereof for performing one or more operations described herein.

[0086] In some embodiments, processor 202 (and / or coprocessor or auxiliary processor or any other processing circuitry otherwise associated with the processor) communicates with memory 204 via a bus for transferring information between components of device 200.

[0087] The memory 204 or memory circuit 204 may be non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In some embodiments, the memory 204 includes or contains electronic storage devices (e.g., computer-readable storage media). In some embodiments, the memory 204 is configured to store information, data, content, applications, instructions, etc., to enable the device 200 to perform various operations and / or functions according to exemplary embodiments of this disclosure.

[0088] Input / output circuitry 206 may be included in device 200. In some embodiments, input / output circuitry 206 may provide output to a user and / or receive input from a user. Input / output circuitry 206 may communicate with processor 202 to provide such functionality. Input / output circuitry 206 may include one or more user interfaces. In some embodiments, the user interface may include a display that includes multiple interfaces presented as a web user interface, application user interface, user device, back-end system, etc. In some embodiments, input / output circuitry 206 may also include a keyboard, mouse, joystick, touchscreen, touch area, softkeys, megaphone, speaker, or other input / output mechanism. Processor 202 and / or input / output circuitry 206 including a processor may be configured to control one or more operations and / or functions of one or more user interface elements via computer program instructions (e.g., software and / or firmware) stored in processor-accessible memory (e.g., memory 204, etc.). In some embodiments, input / output circuitry 206 includes or utilizes user-oriented applications to provide input / output functionality to a computing device and / or other display associated with a user.

[0089] Communication circuitry 208 may be included in device 200. Communication circuitry 208 may include any means configured to receive and / or transmit data from / to a network and / or any other device, circuitry, or module communicating with device 200, such as devices or circuitry embodied in hardware or a combination of hardware and software. In some embodiments, communication circuitry 208 includes, for example, a network interface for enabling communication with wired or wireless communication networks. Additionally or alternatively, communication circuitry 208 may include one or more network interface cards, antennas, buses, switches, routers, modems, and supporting hardware, firmware, and / or software, or any other device suitable for enabling communication via one or more communication networks. In some embodiments, communication circuitry 208 may include circuitry for interacting with antenna(s) and / or other hardware or software to enable the transmission of signals via antenna(s) and / or the processing of signals received via antenna(s). In some embodiments, communication circuitry 208 enables the transmission and / or reception of data to and / or from a user equipment, one or more sensors, and / or other external computing devices communicating with device 200.

[0090] Data acquisition circuitry 212 may be included in device 200. Data acquisition circuitry 212 may include hardware, software, firmware, and / or combinations thereof, designed and / or configured to capture, receive, request, and / or additionally collect data associated with the operation of barcode decoder device 102. In some embodiments, data acquisition circuitry 212 includes hardware, software, firmware, and / or combinations thereof that communicate with one or more sensor components, etc., within barcode decoder device 102 to receive specific data associated with such operation of barcode decoder device 102. Additionally or alternatively, in some embodiments, data acquisition circuitry 212 includes hardware, software, firmware, and / or combinations thereof that retrieves specific data associated with barcode decoder device 102 from one or more data repositories accessible to device 200.

[0091] Neural processing unit 210 may be included in device 200. Neural processing unit 210 may include hardware, software, firmware, and / or combinations thereof designed and / or configured to request, receive, process, generate, and transmit data, data structures, control signals, and electronic information for training and executing trained AI and machine learning models configured for operations and / or functions conveniently described herein. For example, in some embodiments, neural processing unit 210 includes hardware, software, firmware, and / or combinations thereof that identify training data and / or utilize such training data to train specific machine learning models, AI, and / or other models to generate specific output data at least in part based on learning from the training data. Additionally or alternatively, in some embodiments, neural processing unit 210 includes hardware, software, firmware, and / or combinations thereof that embodies or retrieves trained machine learning models, AI, and / or other specifically configured models for processing input data. Alternatively or additionally, in some embodiments, the neural processing unit 210 includes hardware, software, firmware, and / or a combination thereof that processes received data using one or more algorithms, functions, subroutines, etc., without requiring one or more preprocessing and / or subsequent operations that utilize machine learning or AI models.

[0092] Data output circuitry 214 may be included in device 200. Data output circuitry 214 may include hardware, software, firmware, and / or combinations thereof, configured and / or generating output based at least in part on data processed by device 200. In some embodiments, data output circuitry 214 includes hardware, software, firmware, and / or combinations thereof, generating a specific report based at least in part on processed data, for example, wherein the report is generated at least in part based on a specific reporting protocol. Additionally or alternatively, in some embodiments, data output circuitry 214 includes hardware, software, firmware, and / or combinations thereof, configuring specific output data objects, output data files, and / or user interfaces for storage, transmission, and / or display. For example, in some embodiments, data output circuitry 214 generates and / or specifically configures specific data output for transmission to another system subsystem for further processing. Additionally or alternatively, in some embodiments, data output circuitry 214 includes hardware, software, firmware, and / or combinations thereof, such that a specially configured user interface is presented based at least in part on data received and / or processed by device 200.

[0093] In some embodiments, two or more sets of circuits 202-214 are composable. Alternatively or additionally, one or more sets of circuits 202-214 perform some or all of the operations and / or functions described herein as associated with another circuit. In some embodiments, two or more sets of circuits 202-214 are combined into a single module contained in hardware, software, firmware, and / or combinations thereof. For example, in some embodiments, one or more of the set of circuits (e.g., neural processing unit 210) may be combined with processor 202 such that processor 202 performs one or more operations described herein with respect to neural processing unit 210.

[0094] refer to Figure 1-6 In some embodiments, each of one or more barcodes 112 is a set of machine-readable symbols representing information associated with object 110. In some embodiments, one or more barcodes include one or more of UPC barcodes, Code 128 barcodes, Code 39 barcodes, interleaved 2 / 5 barcodes, other one-dimensional barcodes, Data Matrix (DM) barcodes, Quick Response (QR) barcodes, postal barcodes, other two-dimensional barcodes, three-dimensional barcodes, etc. In some embodiments, optical characteristic information 114 includes typed, handwritten, and / or printed text or graphics.

[0095] In some embodiments, one or more of the barcodes 112 are associated with a first barcode classification. For example, the barcodes in the one or more barcodes 112 associated with the first barcode classification may include one or more of UPC barcodes, Code 128 barcodes, Code 39 barcodes, interleaved 2 / 5 barcodes, other one-dimensional barcodes, etc. In some embodiments, the barcodes in the one or more barcodes 112 associated with the first classification type may be barcodes configured to be decoded by a fast linear decoder 506. Additionally or alternatively, the barcodes in the one or more barcodes 112 associated with the first classification type may be barcodes configured to be decoded by a region of interest fast linear decoder 518A (e.g., the first decoder 518).

[0096] In some embodiments, one or more of the barcodes 112 are associated with a second barcode classification. For example, the barcodes in the one or more barcodes 112 associated with the second barcode classification may include one or more of a data matrix (DM) barcode, a quick response (QR) barcode, a postal barcode, other two-dimensional barcodes, three-dimensional barcodes, etc. In some embodiments, the barcodes in the one or more barcodes 112 associated with the second classification type may be barcodes configured to be decoded by an integrated decoder 510. Alternatively or additionally, the barcodes in the one or more barcodes 112 associated with the second classification type may be barcodes configured to be decoded by a region of interest integrated decoder 518B (e.g., a first decoder 518).

[0097] In some embodiments, the barcode decoder device 102 is configured to recognize image data. For example, the barcode decoder device 102 may be configured to recognize first image data and / or second image data (e.g., a second image representing one or more other barcodes and / or optical characteristic information 114). In some embodiments, the image data includes one or more data representing and / or indicating an image 400 including one or more barcodes 112 and / or optical characteristic information 114. In this respect, for example, the image data may represent and / or indicate an image 400 of object 110. As another example, the image data may represent and / or indicate a portion of an image of object 110. As another example, the image data may represent and / or indicate an image 400 of at least one of one or more barcodes 112 and / or optical characteristic information 114. As another example, the image data may represent and / or indicate a portion of an image of at least one of one or more barcodes 112 and / or optical characteristic information 114.

[0098] In some embodiments, identifying image data includes a barcode decoder device 102 configured to receive image data from one or more other devices. For example, the barcode decoder device 102 may be configured to identify image data by receiving image data from one or more other devices that have already captured image data. In some embodiments, identifying image data includes a barcode decoder device 102 configured to capture image data. For example, the barcode decoder device 102 may be configured to identify image data by capturing image data using an image data recognition component 502. In some embodiments, the image data recognition component 502 includes an imaging lens 106 and / or a flash illumination source 104. In some embodiments, identifying image data includes a barcode decoder device 102 configured to generate image data. For example, the barcode decoder device 102 may be configured to generate image data based on other data associated with the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify the image data. In some embodiments, the barcode decoder device 102 is configured to capture image data in response to a user-actuated manual trigger 108 associated with the barcode decoder device 102.

[0099] In some embodiments, the barcode decoder device 102 is configured to recognize one or more of one or more barcodes 112 associated with a first barcode classification type. In this regard, for example, the barcode decoder device 102 may recognize one or more of one or more barcodes 112 associated with a first barcode decryption type. For example, the barcode decoder device 102 may be configured to recognize a barcode among one or more barcodes 112 associated with a first barcode classification type of the object 110. In some embodiments, the barcode decoder device 102 is configured to recognize optical characteristic information 114.

[0100] In some embodiments, identifying one or more of the barcodes 112 associated with a first barcode classification type, including a barcode decoder device 102, is configured to apply image data to a fast linear detector 504. In this regard, in some embodiments, the fast linear detector 504 is configured to process the image data using one or more image processing techniques to identify one or more barcodes associated with a first barcode classification type in an image represented by the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify one or more barcodes associated with a first barcode classification type in an image represented by the image data. In some embodiments, the barcode decoder device 102 is configured to identify one or more barcodes associated with a first barcode classification type in response to identifying image data.

[0101] In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data. In some embodiments, the decoded barcode data includes one or more data representing the decoded barcode. In this regard, for example, the decoded barcode data may represent human-readable information, non-machine-readable information, and / or alphanumeric information about object 110. For example, the decoded barcode data may represent human-readable information, non-machine-readable information, and / or alphanumeric information about object 110, corresponding to machine-readable symbols (e.g., machine-readable symbols represented by one or more barcodes 112) representing information associated with object 110.

[0102] In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data to fast linear decoder 506. For example, barcode decoder device 102 may be configured to generate second decoded barcode data by applying second image data to fast linear decoder 506. In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data corresponding to a first barcode classification type to fast linear decoder 506. In other words, for example, barcode decoder device 102 may be configured to apply image data to fast linear decoder 506 to generate decoded barcode data for one or more barcodes 112 associated with a first barcode classification type. In some embodiments, barcode decoder device 102 is configured to use processor 202 to apply image data to fast linear decoder 506. In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by applying image data to the fast linear decoder 506 in response to the fast linear detector 504 recognizing a barcode in one or more barcodes 112 associated with a first barcode classification type.

[0103] In some embodiments, the barcode decoder device 102 is configured to recognize one or more of one or more barcodes 112 associated with a second barcode classification type. For example, the barcode decoder device 102 may recognize one or more of one or more barcodes 112 associated with a second barcode classification type. For instance, the barcode decoder device 102 may be configured to recognize one or more barcodes 112 associated with a second barcode classification type of the object 110.

[0104] In some embodiments, identifying one or more barcodes 112 associated with a second barcode classification type, including one or more barcode decoder devices 102, is configured to apply image data to an integrated detector 508. In this regard, in some embodiments, the integrated detector 508 is configured to process the image data using one or more image processing techniques to identify one or more barcodes associated with a second barcode classification type in an image represented by the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify one or more barcodes associated with a second barcode classification type in an image represented by the image data. In some embodiments, the barcode decoder device 102 is configured to identify one or more barcodes associated with a second barcode classification type in response to identifying image data.

[0105] In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data to integrated decoder 510. For example, barcode decoder device 102 may be configured to generate second decoded barcode data by applying second image data to integrated decoder 510. In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data corresponding to a second barcode classification type to integrated decoder 510. In other words, for example, barcode decoder device 102 may be configured to apply image data to integrated decoder 510 to generate decoded barcode data for one or more barcodes 112 associated with a second barcode classification type. In some embodiments, barcode decoder device 102 is configured to use processor 202 to apply image data to integrated decoder 510. In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by applying image data to the integrated decoder 510 in response to the integrated detector 508 recognizing a barcode in one or more barcodes 112 that is associated with a second barcode classification type.

[0106] In some embodiments, the barcode decoder device 102 is configured to recognize a region-of-interest (ROI) machine learning model 512. In some embodiments, the RIO machine learning model 512 is a data entity describing the parameters, hyperparameters, and / or defined operations of a rule-based and / or machine learning model configured to generate RIO image data. In this regard, in some embodiments, the RIO machine learning model 512 is configured to utilize one or more of any type of machine learning, rule-based, and / or artificial intelligence techniques, including computer vision techniques, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision techniques, sequence modeling techniques, language processing techniques, neural network techniques, generative artificial intelligence techniques, filtering techniques, grouping techniques, classification techniques, trend techniques, association techniques, anomaly detection techniques, clustering techniques, etc. In some embodiments, the RIO machine learning model 512 is configured to be executed and / or implemented by the processor 202 and / or neural processing unit 210.

[0107] In some embodiments, identifying the region of interest (ROI) machine learning model 512 includes a barcode decoder device 102 configured to receive the ROI machine learning model 512 from one or more external computing devices. For example, the barcode decoder device 102 may be configured to receive the ROI machine learning model 512 from a cloud computing device associated with the barcode decoder device 102. As another example, the barcode decoder device 102 may be configured to receive the ROI machine learning model 512 from a local computing device associated with the barcode decoder device 102. As yet another example, the barcode decoder device 102 may be configured to receive the ROI machine learning model 512 from another similar barcode decoder device associated with the barcode decoder device 102.

[0108] In some embodiments, identifying the region of interest machine learning model 512 includes a barcode decoder device 102 configured to generate the region of interest machine learning model 512. In this regard, for example, the barcode decoder device 102 may be configured to receive machine learning model code and use the machine learning model code to generate the region of interest machine learning model 512. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 and / or a neural processing unit 210 to identify the region of interest machine learning model 512.

[0109] In some embodiments, the region of interest (ROI) machine learning model 512 is associated with a floating-point data type (e.g., at least a 32-bit floating-point data type). In this respect, in some embodiments, the ROI machine learning model 512 is a data entity comprising data configured as a floating-point data type. Alternatively or additionally, the ROI machine learning model 512 is associated with one of a plurality of integer data types. In this respect, in some embodiments, the ROI machine learning model 512 is a data entity comprising data configured as an integer data type. For example, the ROI machine learning model 512 may be associated with a 16-bit integer data type. As another example, the ROI machine learning model 512 may be associated with an 8-bit integer data type. As another example, the ROI machine learning model 512 may be associated with a 4-bit integer data type. As another example, the ROI machine learning model 512 may be associated with a 32-bit integer data type.

[0110] In some embodiments, the barcode decoder device 102 is configured to convert the region of interest (ROI) machine learning model 512 from a floating-point data type to an integer data type. For example, the barcode decoder device 102 may be configured to convert the ROI machine learning model 512 from a floating-point data type to an 8-bit integer data type. In some embodiments, by converting the ROI machine learning model 512 from a floating-point data type to an integer data type, the ROI machine learning model can generate ROI image data faster. In this respect, in some embodiments, the barcode decoder device 102 is configured to decode the barcode faster than if the ROI machine learning model 512 were not converted from a floating-point data type to an integer data type. In some embodiments, the barcode decoder device 102 is configured to use the processor 202 and / or the neural processing unit 210 to convert the ROI machine learning model 512 from a floating-point data type to an integer data type. In some embodiments, the conversion of the ROI machine learning model 512 from a floating-point data type to an integer data type is performed according to a quantization technique.

[0111] In some embodiments, the barcode decoder device 102 is configured to initialize a region of interest (ROI) machine learning model 512. Initializing the ROI machine learning model 512 includes loading the ROI machine learning model 512 into memory 204 in a format executable by the neural processing unit 210. In some embodiments, initializing the ROI machine learning model 512 includes generating and / or loading computational graphs(s) according to commands in memory 204 for execution by the neural processing unit 210. In some embodiments, once the ROI machine learning model 512 is initialized, the ROI machine learning model 512 can be configured to generate ROI image data in response to the barcode decoder device 102 recognizing image data. In other words, initialization includes preloading the model so that the model can generate ROI image data as soon as the image data is recognized by the barcode decoder device 102. In some embodiments, by initializing the ROI machine learning model 512, the barcode decoder device 102 is configured to decode barcodes faster than if the ROI machine learning model 512 were not initialized.

[0112] In some embodiments, the barcode decoder device 102 is configured to initialize a region of interest machine learning model 512 in response to receiving a start trigger. In some embodiments, the start trigger is a trigger that causes the barcode decoder device 102 to initialize the region of interest machine learning model 512. For example, the start trigger may be a trigger generated when the barcode decoder device is turned on (e.g., by a user associated with the barcode decoder device 102).

[0113] In some embodiments, the barcode decoder device 102 is configured to generate region of interest (ROI) image data. In some embodiments, the ROI image data includes one or more data representing and / or indicating one or more ROIs 402 in an image 400 associated with image data. In this regard, in some embodiments, each of the one or more ROIs 402 is associated with a corresponding barcode in one or more barcodes 112. For example, the ROI may be a portion of an image that includes barcodes in one or more barcodes 112. Alternatively or additionally, the ROI may be a portion of an image that includes at least a portion of the barcodes in one or more barcodes 112. In other words, for example, one or more ROIs 402 may be a portion of image 400 represented by image data associated with decoding one or more barcodes 112.

[0114] In some embodiments, each of the one or more regions of interest 402 is associated with optical characteristic information 114. For example, a region of interest may be a portion of the optical characteristic information 114 of an image. Alternatively or additionally, a region of interest may be a portion of an image that includes at least a portion of the optical characteristic information 114. In other words, for example, one or more regions of interest 402 may be a portion of image 400 represented by image data associated with identifying the optical characteristic information 114. In some embodiments, such as in Figure 4 As shown, one or more regions of interest 402 may include multiple regions of interest in a single image.

[0115] In some embodiments, in response to recognizing optical characteristic information 114, barcode decoder device 102 is configured to output a data object associated with optical characteristic information 114. For example, barcode decoder device 102 may be configured to display and / or transmit the data object associated with optical characteristic information 114. In this regard, in some embodiments, barcode decoder device 102 is configured to convert typed, handwritten, and / or printed text or images (e.g., optical characteristic information 114) into a digital format (e.g., a data object) based on region-of-interest image data.

[0116] In some embodiments, the barcode decoder device 102 is configured to generate region-of-interest (ROI) image data by applying image data to a region-of-interest machine learning model 512. In this regard, in some embodiments, the RIO machine learning model 512 is configured to process image data to identify one or more RIOs 402 in the image 400. For example, the RIO machine learning model 512 may be configured to process image data using one or more computer vision techniques, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision techniques, sequence modeling techniques, language processing techniques, neural network techniques, generative artificial intelligence techniques, filtering techniques, grouping techniques, classification techniques, trend techniques, correlation techniques, anomaly detection techniques, clustering techniques, etc., to identify one or more RIOs 402 in the image 400. In some embodiments, the barcode decoder device 102 is configured to use a neural processing unit 210 and / or a processor 202 to apply image data to the RIO machine learning model 512 to generate RIO image data.

[0117] In some embodiments, the barcode decoder device 102 is configured to determine that the region of interest machine learning model 512 has failed to generate region of interest image data based on the image data applied by the barcode decoder device 102 to the region of interest machine learning model 512. For example, the barcode decoder device 102 may be configured to determine that the region of interest machine learning model 512 has failed to generate second region of interest image data based on second image data applied by the barcode decoder device 102 to the region of interest machine learning model 512. In some embodiments, the barcode decoder device 102 is configured to use the processor 202 and / or the neural processing unit 210 to determine that the region of interest machine learning model 512 has failed to generate region of interest image data based on the image data.

[0118] In some embodiments, the barcode decoder device 102 is configured to determine that the Region of Interest (ROI) machine learning model 512 has failed to generate region of interest (ROI) image data when the image associated with the image data includes at least one barcode and the ROI machine learning model 512 does not recognize any ROI in the image. For example, the barcode decoder device 102 may determine ROI image data when the ROI machine learning model 512 fails to recognize any of one or more ROIs 402 in the image 400. Alternatively or additionally, the barcode decoder device 102 is configured to determine that the ROI machine learning model 512 has failed to generate ROI image data when the ROI machine learning model 512 fails to recognize any ROI in the image associated with the image data within a specified time limit. For example, the barcode decoder device 102 may be configured to determine that the ROI machine learning model has failed to generate ROI image data when the ROI machine learning model 512 fails to recognize any of one or more ROIs 402 in the image 400 within a specified time limit.

[0119] In some embodiments, in response to the failure of the region-of-interest (ROI) machine learning model 512 to generate ROI image data, the barcode decoder is configured to generate decoded barcode data by applying image data to the fast linear decoder 506 and / or the integrated decoder 510. For example, in response to the failure of the ROI machine learning model 512 to generate ROI image data, the barcode decoder device 102 is configured to generate second decoded barcode data by applying second image data to the fast linear decoder 506 and / or the integrated decoder 510. In other words, for example, in response to the failure of the ROI machine learning model 512 to generate ROI image data, the barcode decoder device 102 is configured to use alternative means (e.g., the fast linear decoder 506 and / or the integrated decoder 510) to decode one or more of the one or more barcodes 112.

[0120] In some embodiments, the barcode decoder device 102 is configured to determine that the region of interest (ROI) machine learning model 512 does not meet a training threshold. In some embodiments, the barcode decoder device 102 is configured to determine that the ROI machine learning model 512 does not meet a training threshold by determining that it was trained using data not generated within a specific time period. For example, the barcode decoder device 102 may be configured to determine that the ROI machine learning model 512 does not meet a training threshold by determining that it was trained using stale data, such that any ROI image data generated by the ROI machine learning model 512 may not meet an accuracy threshold.

[0121] In some embodiments, the barcode decoder device 102 is configured to determine that the region-of-interest (ROI) machine learning model 512 does not meet a training threshold by determining that it was trained using less than a data amount threshold. For example, the barcode decoder device 102 may be configured to determine that the RIO machine learning model 512 does not meet a training threshold by determining that insufficient data was used to train the RIO machine learning model 512, such that any RIO image data generated by the RIO machine learning model 512 may not meet an accuracy threshold.

[0122] In some embodiments, the barcode decoder device 102 is configured to determine that the Region of Interest (ROI) Machine Learning Model (ROI) 512 does not meet a training threshold by determining that it has not been trained within a specific time period. In this respect, for example, the barcode decoder device 102 may be configured to determine that the RIO Machine Learning Model 512 does not meet a training threshold by determining that it has not been sufficiently trained recently, such that any RIO image data generated by the RIO Machine Learning Model 512 may not meet an accuracy threshold. In other words, for example, the barcode decoder device 102 may be configured to determine that the RIO Machine Learning Model 512 does not meet a training threshold by determining that it is not accurate enough.

[0123] In some embodiments, in response to determining that the region of interest machine learning model 512 does not meet a training threshold, the barcode decoder device 102 is configured to generate decoded barcode data by applying image data to the fast linear decoder 506 and / or the ensemble decoder 510. For example, in response to determining that the region of interest machine learning model 512 does not meet a training threshold, the barcode decoder device 102 is configured to generate second decoded barcode data by applying second image data to the fast linear decoder 506 and / or the ensemble decoder 510. In other words, for example, in response to determining that the region of interest machine learning model 512 does not meet a training threshold, the barcode decoder device 102 is configured to use alternatives (e.g., the fast linear decoder 506 and / or the ensemble decoder 510) to decode one or more of the one or more barcodes 112.

[0124] In some embodiments, the barcode decoder device 102 is configured to train a region of interest (ROI) machine learning model 512. In some embodiments, the barcode decoder device 102 is configured to train the ROI machine learning model 512 based at least in part on one or more of historical image data, historical ROI image data, or historical decoded barcode data. In some embodiments, the barcode decoder device 102 is configured to train the ROI machine learning model 512 before the barcode decoder device 102 has converted the ROI machine learning model 512 from a floating-point data type to an integer data type. Additionally or alternatively, the barcode decoder device 102 is configured to train the ROI machine learning model 512 after the barcode decoder device 102 has converted the ROI machine learning model 512 from a floating-point data type to an integer data type. Additionally or alternatively, the barcode decoder device 102 is configured to train the ROI machine learning model 512 before the barcode decoder device 102 has initialized the ROI machine learning model 512.

[0125] In some embodiments, the barcode decoder device 102 is configured to retrain the region of interest (ROI) machine learning model 512 (e.g., retraining it after it has already been trained). For example, the barcode decoder device 102 may be configured to periodically retrain the ROI machine learning model. As another example, the barcode decoder device 102 may be configured to retrain the ROI machine learning model in response to the barcode decoder device 102 determining that the ROI machine learning model 512 has failed to generate ROI image data based on image data applied to the ROI machine learning model 512. As another example, the barcode decoder device 102 may be configured to retrain the ROI machine learning model in response to the barcode decoder device 102 determining that the ROI machine learning model 512 does not meet a training threshold.

[0126] In some embodiments, the barcode decoder device 102 is configured to process region-of-interest (ROI) image data. In some embodiments, the barcode decoder device 102 is configured to process the RIO image data using one or more of a plurality of preprocessing machine learning models 516. In this regard, in some embodiments, the plurality of preprocessing machine learning models 516 may include any number of preprocessing machine learning models 516, each configured to perform a particular type of processing.

[0127] In some embodiments, each of the plurality of preprocessing machine learning models 516 is a data entity describing the parameters, hyperparameters, and / or defined operations of a rule-based and / or machine learning model configured to process region-of-interest (ROI) image data. In some embodiments, the barcode decoder device 102 is configured to use the neural processing unit 210 to process the RIO image data using one or more of the plurality of preprocessing machine learning models 516. In some embodiments, the barcode device arranger component 514 of the barcode decoder device 102 is configured to facilitate the processing of the RIO image data among the plurality of preprocessing machine learning models 516. For example, the barcode device arranger component 514 may be configured to determine that a first preprocessing machine learning model has completed processing the RIO image data and transfer the RIO image data to a second preprocessing machine learning model for further processing.

[0128] In some embodiments, the plurality of preprocessing machine learning models 516 include an optical preprocessing machine learning model. In some embodiments, the optical preprocessing machine learning model is configured to process image data of a region of interest (ROI) using one or more of the following techniques: computer vision, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision, sequence modeling, language processing, neural networks, generative artificial intelligence, filtering, grouping, classification, trend analysis, correlation analysis, anomaly detection, clustering, etc., to change the brightness of the ROI in the image. For example, the optical preprocessing machine learning model may be configured to process ROI image data to increase or decrease the brightness of the ROI in the image. In this regard, in some embodiments, the optical preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process the barcode by increasing decoding speed and / or preventing decoding errors (e.g., by changing brightness to make the barcode easier to process).

[0129] In some embodiments, the plurality of preprocessing machine learning models 516 includes a contrast preprocessing machine learning model. In some embodiments, the contrast preprocessing machine learning model is configured to process region-of-interest (ROI) image data using one or more of the following techniques: computer vision, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision, sequence modeling, language processing, neural networks, generative artificial intelligence, filtering, grouping, classification, trend analysis, correlation analysis, anomaly detection, clustering, etc., to alter the contrast of the RIO region of the image. For example, the contrast preprocessing machine learning model may be configured to process RIO image data to increase or decrease the contrast of the RIO region of the image. In this regard, in some embodiments, the contrast preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process barcodes by increasing decoding speed and / or preventing decoding errors (e.g., by altering the contrast to make the barcode easier to process).

[0130] In some embodiments, the plurality of preprocessing machine learning models 516 includes a resolution preprocessing machine learning model. In some embodiments, the resolution preprocessing machine learning model is configured to process region-of-interest (ROI) image data by using one or more of computer vision techniques, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision techniques, sequence modeling techniques, language processing techniques, neural network techniques, generative artificial intelligence techniques, filtering techniques, grouping techniques, classification techniques, trend techniques, correlation techniques, anomaly detection techniques, clustering techniques, etc., to change the resolution of the RIO in the image. For example, the resolution preprocessing machine learning model may be configured to process RIO image data to increase or decrease the resolution of the RIO in the image. In this regard, in some embodiments, the resolution preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process the barcode by increasing decoding speed and / or preventing decoding errors (e.g., by changing the resolution to make the barcode easier to process).

[0131] In some embodiments, the plurality of preprocessing machine learning models 516 include a deblurring preprocessing machine learning model. In some embodiments, the deblurring preprocessing machine learning model is configured to process region-of-interest (ROI) image data using one or more of the following techniques: computer vision, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision, sequence modeling, language processing, neural networks, generative artificial intelligence, filtering, grouping, classification, trend analysis, correlation analysis, anomaly detection, clustering, etc., to deblur the RIO region of the image. For example, the deblurring preprocessing machine learning model may be configured to process RIO image data to deblur the RIO region of the image. In this regard, in some embodiments, the deblurring preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process barcodes by increasing decoding speed and / or preventing decoding errors (e.g., by deblurring to make barcodes easier to process).

[0132] In some embodiments, the barcode decoder device 102 is configured to adjust its hardware system parameters. In some embodiments, the barcode decoder device 102 is configured to adjust its hardware system parameters based on region-of-interest (ROI) image data. Alternatively or additionally, the barcode decoder device 102 is configured to adjust its hardware system parameters based on processing ROI image data from multiple preprocessed machine learning models 516. In this regard, for example, the barcode decoder device 102 may be configured to adjust the hardware system parameters associated with sensor gain (e.g., a sensor associated with captured image data) based on ROI image data and / or processing ROI image data from multiple preprocessed machine learning models 516. As another example, the barcode decoder device 102 may be configured to adjust the hardware system parameters associated with sensor exposure (e.g., a sensor associated with captured image data) based on ROI image data and / or processing ROI image data from multiple preprocessed machine learning models 516.

[0133] In some embodiments, barcode decoder device 102 is configured to generate one or more status flags associated with region-of-interest (ROI) image data. In some embodiments, the status flag is a data object representing and / or indicating information about the RIO image data (e.g., metadata) and / or the processing that barcode decoder device 102 has performed on the RIO image data. For example, a status flag could be a data object representing the number of RIOs in a particular image (e.g., the number of RIOs in one or more RIOs 402). As another example, a status flag could be a data object representing the location of each RIO in the image (e.g., the location of each RIO in one or more RIOs 402 in image 400). As another example, a status flag could be a data object representing the type of barcode in each RIO of the image. As another example, a status flag could be a data object representing which of a plurality of preprocessing machine learning models has been used to process the RIO image data. In some embodiments, barcode decoder device 102 is configured to use processor 202 and / or neural processing unit 210 to generate one or more status flags.

[0134] In some embodiments, barcode decoder device 102 is configured to store one or more status flags. In some embodiments, barcode decoder device 102 is configured to store one or more status flags in barcode decoder device database 522. In some embodiments, by generating and storing one or more status flags, barcode decoder device 102 may be able to access information associated with one or more barcodes 112 without having to refer to the entire image recognized by barcode decoder device 102. In this respect, for example, the storage requirements of barcode decoder device 102 may be reduced and / or the decoding speed of barcode decoder device 102 may be increased. In some embodiments, barcode device arranger component 514 of barcode decoder device 102 is configured to generate one or more status flags and / or transmit one or more status flags to barcode decoder device database 522.

[0135] In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by applying region-of-interest (ROI) image data to a region-of-interest fast linear decoder 518A (e.g., a first decoder 518). In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by applying ROI image data to a region-of-interest fast linear decoder 518A corresponding to a first barcode classification type. In other words, for example, the barcode decoder device 102 may be configured to apply ROI image data to the region-of-interest fast linear decoder 518A to generate decoded barcode data for one or more barcodes 112 associated with a first barcode classification type. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to apply ROI image data to the region-of-interest fast linear decoder 518A. In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by generating region-of-interest (ROI) image data including barcodes in one or more barcodes 112 associated with a first barcode classification type in response to a region-of-interest machine learning model 512, and applying the RIO image data to a region-of-interest fast linear decoder 518A. Alternatively, the barcode decoder device 102 is configured to generate decoded barcode data by processing RIO image data including barcodes in one or more barcodes 112 associated with a first barcode classification type in response to one or more of a plurality of preprocessing machine learning models 516, and applying the RIO image data to a region-of-interest fast linear decoder 518A.

[0136] In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying region-of-interest (ROI) image data to a region-of-interest integrated decoder 518B (e.g., a first decoder 518). In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying RIO image data to a region-of-interest integrated decoder 518B corresponding to a second classification type. In other words, for example, barcode decoder device 102 may be configured to apply RIO image data to region-of-interest integrated decoder 518B to generate decoded barcode data for one or more barcodes 112 associated with a second classification type. In some embodiments, barcode decoder device 102 is configured to use processor 202 to apply RIO image data to region-of-interest integrated decoder 518B. In some embodiments, the barcode decoder device 102 is configured to apply region-of-interest (ROI) image data to a region-of-interest integrated decoder 518B in response to a region-of-interest machine learning model 512 generating RIO image data including RIO image data of barcodes in one or more barcodes 112 associated with a second classification type to generate decoded barcode data. Alternatively, the barcode decoder device 102 is configured to apply RIO image data to a region-of-interest integrated decoder 518B in response to one or more of a plurality of preprocessing machine learning models 516 processing RIO image data including barcodes in one or more barcodes 112 associated with a second classification type to generate decoded barcode data.

[0137] In some embodiments, the barcode decoder device 102 is configured to determine the number of regions in one or more regions of interest 402. In this respect, for example, the barcode decoder device 102 may be configured to determine the number of regions of interest in an image. For example, the barcode decoder device 102 may be configured to determine that three regions of interest exist in one or more regions of interest 402 of image 400. In some embodiments, the barcode decoder device 102 is configured to determine the number of pixels in each of the one or more regions of interest 402. For example, the barcode decoder device 102 is configured to determine the number of pixels in each of the three regions of interest in one or more regions of interest 402 of image 400 (e.g., the size of each region of interest according to the number of pixels). In some embodiments, the barcode decoder device 102 is configured to generate region of interest timeout parameters. In some embodiments, the barcode decoder device 102 is configured to generate region of interest timeout parameters based on the number of regions of interest and the number of pixels in each region of interest. In this respect, for example, the barcode decoder device 102 may be configured to generate region of interest timeout parameters using equation (1):

[0138]

[0139] Where n is the number of regions of interest in the image, Tc is the time per pixel (e.g., 100 nanoseconds), A is the number of pixels in each region of interest (e.g., area), Troi is the region of interest processing time (e.g., the amount of time to process a region of interest), and Tbase is the base timeout.

[0140] In some embodiments, the barcode decoder device 102 is configured to determine that a region of interest (ROI) timeout parameter has been exceeded. In some embodiments, the barcode decoder device 102 is configured to determine that the ROI timeout parameter has been exceeded when the barcode decoder device 102 has applied ROI image data to a first decoder 518 and the first decoder 518 has not decoded one or more barcodes associated with the ROI image data within a certain amount of time.

[0141] In some embodiments, the barcode decoder device 102 is configured to terminate the first decoder in response to determining that a region of interest (ROI) timeout parameter has been exceeded. In this regard, in some embodiments, the ROI timeout parameter represents the amount of time the barcode decoder device 102 allows the first decoder 518 to decode the barcode associated with the ROI image data before the first decoder 518 terminates execution. In some embodiments, the ROI timeout parameter is a dynamic parameter because it is adjusted based on the number of ROIs associated with the ROI image data and / or the number of pixels in each ROI (e.g., the size of each ROI). In this respect, the barcode decoder device 102 can increase barcode decoding speed by ensuring that the first decoder does not spend excessive time decoding the barcode, while maintaining a high level of barcode decoding accuracy by ensuring that the first decoder 518 does not terminate prematurely. For example, if the barcode decoder device 102 determines that the region of interest timeout parameter has been exceeded, the barcode decoder device 102 can be configured to apply other region of interest image data to the first decoder 518 to decode the barcode. This increases the decoding speed because the barcode decoder device 102 does not waste time trying to decode a barcode that the barcode decoder device 102 may not be able to decode (e.g., because the image of the barcode is unclear).

[0142] In some embodiments, the barcode decoder device 102 is configured to initiate the execution of one or more actions. In some embodiments, the barcode decoder device 102 is configured to initiate the execution of one or more actions based at least in part on decoded barcode data and / or decoded optical characteristic information data. In this regard, in some embodiments, initiating the execution of one or more actions includes configuring the barcode decoder device 102 to output an audible alarm. For example, the barcode decoder device 102 may be configured to output a first audible alarm when a barcode in one or more barcodes 112 is successfully decoded. As another example, the barcode decoder device 102 may be configured to output a second audible alarm when a barcode in one or more barcodes is not successfully decoded. For example, the barcode decoder device 102 may be configured to output a second audible alarm when the barcode decoder device 102 determines that a region of interest timeout parameter has been exceeded. In some embodiments, the audible alarm may be output via an output component 320 of the barcode decoder device 102. In this regard, for example, the output component 320 may be a loudspeaker.

[0143] In some embodiments, initiating the execution of one or more actions includes configuring a barcode decoder device to image data. For example, barcode decoder device 102 may be configured to capture second image data. In this regard, in some embodiments, barcode decoder device 102 is configured to automatically capture new image data in response to the generation of decoded barcode data, without interaction between the barcode decoder device 102 and a user associated with it.

[0144] In some embodiments, initiating the execution of one or more actions includes configuring the barcode decoder device 102 to generate a decoded barcode interface component 602. In some embodiments, the decoded barcode interface component 602 includes one or more decoded barcode interface elements 604. In some embodiments, the one or more decoded barcode interface elements 604 are configured to display decoded barcode data. For example, the one or more decoded barcode interface elements 604 may be configured to display a decoded barcode determined by the barcode decoder device. In some embodiments, the decoded barcode interface component 602 includes one or more action interface elements 608. In some embodiments, the one or more action interface elements 608 are configured to be selected to cause the barcode decoder device 102 to perform an action. For example, the one or more action interface elements 608 may be selected to cause the barcode decoder device 102 to capture image data.

[0145] In some embodiments, initiating the execution of one or more actions includes configuring the barcode decoder device 102 such that the decoded barcode interface component 602 is presented to the operation interface 600. In some embodiments, the operation interface 600 may be provided by an output component 520 of the barcode decoder device 102. In this regard, for example, the output component 520 may be a display panel.

[0146] In some embodiments, initiating the execution of one or more actions includes configuring the barcode decoder device 102 to transmit decoded barcode data to an external computing device. For example, the barcode decoder device 102 may be configured to transmit decoded barcode data to an external computing device, including an inventory management system. As another example, the barcode decoder device 102 may be configured to transmit decoded barcode data to an external computing device that is another barcode decoding system.

[0147] Example Method

[0148] Now for reference Figure 7 The flowchart providing example method 700 is shown. At this point, Figure 7 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 700 defines a computer-implemented process that can be executable by any(s) devices and / or systems(s) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 700.

[0149] As shown in box 702, method 700 may include image data identified by one or more processors. As described above, in some embodiments, the image data includes one or more data representing and / or indicating an image 400 including one or more barcodes 112 and / or optical characteristic information 114. In this respect, for example, the image data may represent and / or indicate an image 400 of object 110. As another example, the image data may represent and / or indicate a portion of an image of object 110. As another example, the image data may represent and / or indicate an image 400 of at least one of one or more barcodes 112 and / or optical characteristic information 114. As another example, the image data may represent and / or indicate a portion of an image of at least one of one or more barcodes 112 and / or optical characteristic information 114.

[0150] In some embodiments, identifying image data includes a barcode decoder device 102 configured to receive image data from one or more other devices. For example, the barcode decoder device 102 may be configured to identify image data by receiving image data from one or more other devices that have already captured image data. In some embodiments, identifying image data includes a barcode decoder device 102 configured to capture image data. For example, the barcode decoder device 102 may be configured to identify image data by capturing image data using an image data recognition component 502. In some embodiments, the image data recognition component 502 includes an imaging lens 106 and / or a flash illumination source 104. In some embodiments, identifying image data includes a barcode decoder device 102 configured to generate image data. For example, the barcode decoder device 102 may be configured to generate image data based on other data associated with the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify the image data. In some embodiments, the barcode decoder device 102 is configured to capture image data in response to a user-actuated manual trigger 108 associated with the barcode decoder device 102.

[0151] As shown in box 704, method 700 may include generating region-of-interest (ROI) image data by a neural processing unit by applying image data to a RIO machine learning model. As described above, in some embodiments, the RIO image data includes one or more data representing and / or indicating one or more RIOs 402 in an image 400 associated with the image data. In this respect, in some embodiments, each of the one or more RIOs 402 is associated with a corresponding barcode in one or more barcodes 112. For example, an RIO may be a portion of an image that includes barcodes in one or more barcodes 112. Alternatively or additionally, an RIO may be a portion of an image that includes at least a portion of the barcodes in one or more barcodes 112. In other words, for example, one or more RIOs 402 may be a portion of image 400 represented by image data associated with decoding one or more barcodes 112.

[0152] In some embodiments, each of the one or more regions of interest 402 is associated with optical characteristic information 114. For example, a region of interest may be a portion of an image including optical characteristic information 114. Alternatively or additionally, a region of interest may be a portion of at least a portion of an image including optical characteristic information 114. In other words, for example, one or more regions of interest 402 may be a portion of image 400 represented by image data associated with identifying optical characteristic information 114. In some embodiments, such as Figure 4As shown, one or more regions of interest 402 may include multiple regions of interest in a single image.

[0153] In some embodiments, in response to identifying optical characteristic information 114, barcode decoder device 102 is configured to output a data object associated with optical characteristic information 114. For example, barcode decoder device 102 may be configured to display and / or transmit the data object associated with optical characteristic information 114. In this regard, in some embodiments, barcode decoder device 102 is configured to convert typed, handwritten, and / or printed text or images (e.g., optical characteristic information 114) into a digital format (e.g., a data object) based on region-of-interest image data.

[0154] In some embodiments, the barcode decoder device 102 is configured to generate region-of-interest (ROI) image data by applying image data to a region-of-interest machine learning model 512. In this regard, in some embodiments, the RIO machine learning model 512 is configured to process image data to identify one or more RIOs 402 in the image 400. For example, the RIO machine learning model 512 may be configured to process image data using one or more computer vision techniques, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision techniques, sequence modeling techniques, language processing techniques, neural network techniques, generative artificial intelligence techniques, filtering techniques, grouping techniques, classification techniques, trend techniques, correlation techniques, anomaly detection techniques, clustering techniques, etc., to identify one or more RIOs 402 in the image 400. In some embodiments, the barcode decoder device 102 is configured to use a neural processing unit 210 and / or a processor 202 to apply image data to the RIO machine learning model 512 to generate RIO image data.

[0155] As shown in box 706, method 700 may include generating decoded barcode data by one or more processors by applying region-of-interest image data to a first decoder. As described above, in some embodiments, the decoded barcode data includes one or more data representing the decoded barcode. In this regard, for example, the decoded barcode data may represent human-readable information, non-machine-readable information, and / or alphanumeric information about object 110. For example, the decoded barcode data may represent human-readable information, non-machine-readable information, and / or alphanumeric information about object 110, corresponding to machine-readable symbols (e.g., machine-readable symbols represented by one or more barcodes 112) representing information associated with object 110.

[0156] In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by applying region-of-interest (ROI) image data corresponding to a first barcode classification type to a region-of-interest fast linear decoder 518A. In other words, for example, the barcode decoder device 102 may be configured to apply ROI image data to the region-of-interest fast linear decoder 518A to generate decoded barcode data for one or more barcodes 112 associated with the first barcode classification type. In some embodiments, the barcode decoder device 102 is configured to use processor 202 to apply ROI image data to the region-of-interest fast linear decoder 518A. In some embodiments, the barcode decoder device 102 is configured to generate decoded barcode data by applying ROI image data to the region-of-interest fast linear decoder 518A in response to a region-of-interest machine learning model 512 generating ROI image data including barcodes in one or more barcodes 112 associated with the first barcode classification type. Alternatively or concurrently, the barcode decoder device 102 is configured to generate decoded barcode data by applying region-of-interest image data to a region-of-interest fast linear decoder 518A in response to one or more processing of a plurality of preprocessing machine learning models 516, including region-of-interest image data of barcodes in one or more barcodes 112 associated with a first barcode classification type.

[0157] In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying region-of-interest (ROI) image data to a region-of-interest integrated decoder 518B (e.g., a first decoder 518). In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying RIO image data corresponding to a second classification type to the RIO integrated decoder 518B. In other words, for example, barcode decoder device 102 may be configured to apply RIO image data to the RIO integrated decoder 518B to generate decoded barcode data for one or more barcodes 112 associated with a second classification type. In some embodiments, barcode decoder device 102 is configured to use processor 202 to apply RIO image data to the RIO integrated decoder 518B. In some embodiments, the barcode decoder device 102 is configured to apply region-of-interest (ROI) image data to a region-of-interest integrated decoder 518B in response to a region-of-interest machine learning model 512 generating RIO image data including RIO image data of barcodes in one or more barcodes 112 associated with a second classification type to generate decoded barcode data. Alternatively, the barcode decoder device 102 is configured to apply RIO image data to a region-of-interest integrated decoder 518B in response to one or more of a plurality of preprocessing machine learning models 516 processing RIO image data including barcodes in one or more barcodes 112 associated with a second classification type to generate decoded barcode data.

[0158] As shown in box 708, method 700 may include initiating the execution of one or more actions by one or more processors based at least in part on decoded barcode data. As described above, in some embodiments, barcode decoder device 102 is configured to initiate the execution of one or more actions in response to generating decoded barcode data.

[0159] As shown in box 710, method 700 may include processing region-of-interest image data by a neural processing unit in one or more of a plurality of preprocessing machine learning models. As described above, in some embodiments, the plurality of preprocessing machine learning models 516 may include any number of preprocessing machine learning models 516, each configured to perform a particular type of processing.

[0160] In some embodiments, each of the plurality of preprocessing machine learning models 516 is a data entity describing the parameters, hyperparameters, and / or defined operations of a rule-based and / or machine learning model configured to process region-of-interest (ROI) image data. In some embodiments, the barcode decoder device 102 is configured to use the neural processing unit 210 to process the RIO image data using one or more of the plurality of preprocessing machine learning models 516. In some embodiments, the barcode device arranger component 514 of the barcode decoder device 102 is configured to facilitate the processing of the RIO image data among the plurality of preprocessing machine learning models 516. For example, the barcode device arranger component 514 may be configured to determine that a first preprocessing machine learning model has completed processing the RIO image data and transfer the RIO image data to a second preprocessing machine learning model for further processing.

[0161] In some embodiments, the plurality of preprocessing machine learning models 516 include an optical preprocessing machine learning model. In some embodiments, the optical preprocessing machine learning model is configured to process image data of a region of interest (ROI) using one or more of the following techniques: computer vision, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision, sequence modeling, language processing, neural networks, generative artificial intelligence, filtering, grouping, classification, trend analysis, correlation analysis, anomaly detection, clustering, etc., to change the brightness of the ROI in the image. For example, the optical preprocessing machine learning model may be configured to process ROI image data to increase or decrease the brightness of the ROI in the image. In this regard, in some embodiments, the optical preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process the barcode by increasing decoding speed and / or preventing decoding errors (e.g., by changing brightness to make the barcode easier to process).

[0162] In some embodiments, the plurality of preprocessing machine learning models 516 includes a contrast preprocessing machine learning model. In some embodiments, the contrast preprocessing machine learning model is configured to process region-of-interest (ROI) image data using one or more of the following techniques: computer vision, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision, sequence modeling, language processing, neural networks, generative artificial intelligence, filtering, grouping, classification, trend analysis, correlation analysis, anomaly detection, clustering, etc., to alter the contrast of the RIO region of the image. For example, the contrast preprocessing machine learning model may be configured to process RIO image data to increase or decrease the contrast of the RIO region of the image. In this regard, in some embodiments, the contrast preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process barcodes by increasing decoding speed and / or preventing decoding errors (e.g., by altering the contrast to make the barcode easier to process).

[0163] In some embodiments, the plurality of preprocessing machine learning models 516 includes a resolution preprocessing machine learning model. In some embodiments, the resolution preprocessing machine learning model is configured to process region-of-interest (ROI) image data by using one or more of computer vision techniques, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision techniques, sequence modeling techniques, language processing techniques, neural network techniques, generative artificial intelligence techniques, filtering techniques, grouping techniques, classification techniques, trend techniques, correlation techniques, anomaly detection techniques, clustering techniques, etc., to change the resolution of the RIO in the image. For example, the resolution preprocessing machine learning model may be configured to process RIO image data to increase or decrease the resolution of the RIO in the image. In this regard, in some embodiments, the resolution preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process the barcode by increasing decoding speed and / or preventing decoding errors (e.g., by changing the resolution to make the barcode easier to process).

[0164] In some embodiments, the plurality of preprocessing machine learning models 516 include a deblurring preprocessing machine learning model. In some embodiments, the deblurring preprocessing machine learning model is configured to process region-of-interest (ROI) image data using one or more of the following techniques: computer vision, supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision, sequence modeling, language processing, neural networks, generative artificial intelligence, filtering, grouping, classification, trend analysis, correlation analysis, anomaly detection, clustering, etc., to deblur the RIO region of the image. For example, the deblurring preprocessing machine learning model may be configured to process RIO image data to deblur the RIO region of the image. In this regard, in some embodiments, the deblurring preprocessing machine learning model may be configured to increase the speed at which the barcode decoder device 102 can process barcodes by increasing decoding speed and / or preventing decoding errors (e.g., by deblurring to make barcodes easier to process).

[0165] In some embodiments, the barcode decoder device 102 is configured to adjust its hardware system parameters. In some embodiments, the barcode decoder device 102 is configured to adjust its hardware system parameters based on region-of-interest (ROI) image data. Alternatively or additionally, the barcode decoder device 102 is configured to adjust its hardware system parameters based on processing ROI image data from multiple preprocessed machine learning models 516. In this respect, for example, the barcode decoder device 102 may be configured to adjust the hardware system parameters associated with sensor gain (e.g., a sensor associated with captured image data) based on ROI image data and / or processing ROI image data from multiple preprocessed machine learning models 516. As another example, the barcode decoder device 102 may be configured to adjust the hardware system parameters associated with sensor exposure (e.g., a sensor associated with captured image data) based on ROI image data and / or processing ROI image data from multiple preprocessed machine learning models 516.

[0166] As shown in box 712, method 700 may include training a region-of-interest (ROI) machine learning model by a neural processing unit based at least in part on one or more of historical image data, historical RIO image data, or historical decoded barcode data. As described above, in some embodiments, barcode decoder device 102 is configured to train the RIO machine learning model 512 before the barcode decoder device 102 has converted the RIO machine learning model 512 from a floating-point data type to an integer data type. Alternatively or additionally, barcode decoder device 102 is configured to train the RIO machine learning model 512 after the barcode decoder device 102 has converted the RIO machine learning model 512 from a floating-point data type to an integer data type. Alternatively or additionally, barcode decoder device 102 is configured to train the RIO machine learning model 512 before the barcode decoder device 102 has initialized the RIO machine learning model 512.

[0167] In some embodiments, the barcode decoder device 102 is configured to retrain the region of interest (ROI) machine learning model 512 (e.g., retraining it after it has already been trained). For example, the barcode decoder device 102 may be configured to periodically retrain the ROI machine learning model. As another example, the barcode decoder device 102 may be configured to retrain the ROI machine learning model in response to the barcode decoder device 102 determining that the ROI machine learning model 512 has failed to generate ROI image data based on image data applied to the ROI machine learning model 512. As another example, the barcode decoder device 102 may be configured to retrain the ROI machine learning model in response to the barcode decoder device 102 determining that the ROI machine learning model 512 does not meet a training threshold.

[0168] As shown in box 714, method 700 may include generating one or more status flags associated with region-of-interest (ROI) image data by one or more processors. As described above, in some embodiments, a status flag is a data object representing and / or indicating information (e.g., metadata) about the RIO image data and / or the processing that the barcode decoder device 102 has performed on the RIO image data. In this respect, for example, a status flag may be a data object representing the number of RIOs in a particular image (e.g., the number of RIOs in one or more RIOs 402). As another example, a status flag may be a data object representing the location of each RIO in the image (e.g., the location of each RIO in one or more RIOs 402 in image 400). As another example, a status flag may be a data object representing the type of barcode in each RIO of the image. As another example, a status flag may be a data object representing which of a plurality of preprocessing machine learning models has been used to process the RIO image data. In some embodiments, the barcode decoder device 102 is configured to use processor 202 and / or neural processing unit 210 to generate one or more status flags.

[0169] As shown in box 716, method 700 may include storing one or more status flags by one or more processors. As described above, in some embodiments, barcode decoder device 102 is configured to store one or more status flags in barcode decoder device database 522. In some embodiments, by generating and storing one or more status flags, barcode decoder device 102 may be able to access information associated with one or more barcodes 112 without having to refer to the entire image recognized by barcode decoder device 102. In this regard, for example, the storage requirements of barcode decoder device 102 may be reduced and / or the decoding speed of barcode decoder device 102 may be increased. In some embodiments, barcode device arranger component 514 of barcode decoder device 102 is configured to generate one or more status flags and / or transmit one or more status flags to barcode decoder device database 522.

[0170] As shown in box 718, method 700 may include recognizing second image data by one or more processors. In some embodiments, the second image data represents a second image including optical property information.

[0171] As shown in box 720, method 700 may include generating second region-of-interest (ROI) image data by a neural processing unit by applying the second image data to a region-of-interest machine learning model. In some embodiments, the second ROI image data represents one or more second ROIs in an image, wherein each of the one or more second ROIs is associated with optical property information.

[0172] Now for reference Figure 8 The flowchart providing example method 800 is shown. At this point, Figure 8 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 800 defines a computer-implemented process that can be executable by any(s) devices and / or systems(s) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 800.

[0173] As shown in box 802, method 800 may include second image data identified by one or more processors, wherein the second image data represents a second image including one or more other barcodes. As described above, in some embodiments, the image data includes one or more data representing and / or indicating an image 400 including one or more barcodes 112 and / or optical characteristic information 114. In this respect, for example, the image data may represent and / or indicate an image 400 of object 110. As another example, the image data may represent and / or indicate a portion of an image of object 110. As another example, the image data may represent and / or indicate an image 400 of at least one of one or more barcodes 112 and / or optical characteristic information 114. As another example, the image data may represent and / or indicate a portion of an image of at least one of one or more barcodes 112 and / or optical characteristic information 114.

[0174] In some embodiments, identifying image data includes a barcode decoder device 102 configured to receive image data from one or more other devices. For example, the barcode decoder device 102 may be configured to identify image data by receiving image data from one or more other devices that have already captured image data. In some embodiments, identifying image data includes a barcode decoder device 102 configured to capture image data. For example, the barcode decoder device 102 may be configured to identify image data by capturing image data using an image data recognition component 502. In some embodiments, the image data recognition component 502 includes an imaging lens 106 and / or a flash illumination source 104. In some embodiments, identifying image data includes a barcode decoder device 102 configured to generate image data. For example, the barcode decoder device 102 may be configured to generate image data based on other data associated with the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify the image data. In some embodiments, the barcode decoder device 102 is configured to capture image data in response to a user-actuated manual trigger 108 associated with the barcode decoder device 102.

[0175] As shown in block 804, method 800 may include generating second decoded barcode data by one or more processors by applying image data to a fast linear decoder. As described above, in some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data corresponding to a first barcode classification type to fast linear decoder 506. In other words, for example, barcode decoder device 102 may be configured to apply image data to fast linear decoder 506 to generate decoded barcode data for the barcodes of one or more barcodes 112 associated with the first barcode classification type. In some embodiments, barcode decoder device 102 is configured to use processor 202 to apply image data to fast linear decoder 506. In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data to fast linear decoder 506 in response to fast linear detector 504 identifying a barcode in one or more barcodes 112 associated with the first barcode classification type.

[0176] As shown in block 806, method 800 may include generating second decoded barcode data by one or more processors by applying image data to an integrated decoder. As described above, in some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data corresponding to a second barcode classification type to integrated decoder 510. In other words, for example, barcode decoder device 102 may be configured to apply image data to integrated decoder 510 to generate decoded barcode data for one or more barcodes 112 associated with a second barcode classification type. In some embodiments, barcode decoder device 102 is configured to use processor 202 to apply image data to integrated decoder 510. In some embodiments, barcode decoder device 102 is configured to generate decoded barcode data by applying image data to integrated decoder 510 in response to integrated detector 508 recognizing a barcode in one or more barcodes 112 associated with a second barcode classification type.

[0177] Now for reference Figure 9 The flowchart illustrating example method 900 is shown. At this point, Figure 9 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 900 defines a computer-implemented process that can be executable by any(multiple) devices and / or systems(multiple) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 900.

[0178] As shown in box 902, method 900 may include second image data identified by one or more processors. As described above, in some embodiments, the image data includes one or more data representing and / or indicating an image 400 including one or more barcodes 112 and / or optical characteristic information 114. In this respect, for example, the image data may represent and / or indicate an image 400 of object 110. As another example, the image data may represent and / or indicate a portion of an image of object 110. As another example, the image data may represent and / or indicate an image 400 of at least one of one or more barcodes 112 and / or optical characteristic information 114. As another example, the image data may represent and / or indicate a portion of an image of at least one of one or more barcodes 112 and / or optical characteristic information 114.

[0179] In some embodiments, identifying image data includes a barcode decoder device 102 configured to receive image data from one or more other devices. For example, the barcode decoder device 102 may be configured to identify image data by receiving image data from one or more other devices that have already captured image data. In some embodiments, identifying image data includes a barcode decoder device 102 configured to capture image data. For example, the barcode decoder device 102 may be configured to identify image data by capturing image data using an image data recognition component 502. In some embodiments, the image data recognition component 502 includes an imaging lens 106 and / or a flash illumination source 104. In some embodiments, identifying image data includes a barcode decoder device 102 configured to generate image data. For example, the barcode decoder device 102 may be configured to generate image data based on other data associated with the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify the image data. In some embodiments, the barcode decoder device 102 is configured to capture image data in response to a user-actuated manual trigger 108 associated with the barcode decoder device 102.

[0180] As shown in box 904, method 900 may include applying second image data to a region of interest (ROI) machine learning model. As described above, in some embodiments, the ROI image data includes one or more data representing and / or indicating one or more ROIs 402 in an image 400 associated with the image data. In this respect, in some embodiments, each of the one or more ROIs 402 is associated with a corresponding barcode in one or more barcodes 112. For example, the ROI may be a portion of an image including barcodes in one or more barcodes 112. Additionally or alternatively, the ROI may be a portion of an image that includes at least a portion of the barcodes in one or more barcodes 112. In other words, for example, one or more ROIs 402 may be a portion of image 400 represented by image data associated with decoding one or more barcodes 112. In some embodiments, such as Figure 4 As shown, one or more regions of interest 402 may include multiple regions of interest in a single image.

[0181] As shown in box 906, method 900 may include determining, by one or more processors, that a region-of-interest (ROI) machine learning model has failed to generate second ROI image data based on second image data. As described above, in some embodiments, barcode decoder device 102 may be configured to determine that ROI machine learning model 512 has failed to generate second ROI image data based on second image data applied to ROI machine learning model 512 by barcode decoder device 102. In some embodiments, barcode decoder device 102 is configured to use processor 202 and / or neural processing unit 210 to determine that ROI machine learning model 512 has failed to generate ROI image data based on image data.

[0182] In some embodiments, the barcode decoder device 102 is configured to determine that the Region of Interest (ROI) machine learning model 512 has failed to generate region of interest (ROI) image data when the image associated with the image data includes at least one barcode and the ROI machine learning model 512 does not recognize any ROI in the image. For example, the barcode decoder device 102 may determine ROI image data when the ROI machine learning model 512 fails to recognize any of one or more ROIs 402 in the image 400. Alternatively or additionally, the barcode decoder device 102 is configured to determine that the ROI machine learning model 512 has failed to generate ROI image data when the ROI machine learning model 512 fails to recognize any ROI in the image associated with the image data within a specified time limit. For example, the barcode decoder device 102 may be configured to determine that the ROI machine learning model has failed to generate ROI image data when the ROI machine learning model 512 fails to recognize any of one or more ROIs 402 in the image 400 within a specified time limit.

[0183] As shown in box 908, method 900 may include generating second decoded barcode data by one or more processors by applying image data to a fast linear decoder or an integrated decoder. As described above, in some embodiments, in response to the region-of-interest (ROI) determination machine learning model 512 failing to generate ROI image data, barcode decoder device 102 is configured to generate second decoded barcode data by applying second image data to fast linear decoder 506 and / or integrated decoder 510. In other words, for example, in response to the ROI determination machine learning model 512 failing to generate ROI image data, barcode decoder device 102 is configured to use alternative means (e.g., fast linear decoder 506 and / or integrated decoder 510) to decode one or more of one or more barcodes 112.

[0184] Now for reference Figure 10The flowchart illustrating example method 1000 is shown. At this point, Figure 10 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 1000 defines a computer-implemented process that can be executable by any(multiple) devices and / or systems(multiple) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 1000.

[0185] As shown in box 1002, method 1000 may include second image data identified by one or more processors. As described above, in some embodiments, the image data includes one or more data representing and / or indicating an image 400 including one or more barcodes 112 and / or optical characteristic information 114. In this respect, for example, the image data may represent and / or indicate an image 400 of object 110. As another example, the image data may represent and / or indicate a portion of an image of object 110. As another example, the image data may represent and / or indicate an image 400 of at least one of one or more barcodes 112 and / or optical characteristic information 114. As another example, the image data may represent and / or indicate a portion of an image of at least one of one or more barcodes 112 and / or optical characteristic information 114.

[0186] In some embodiments, identifying image data includes a barcode decoder device 102 configured to receive image data from one or more other devices. For example, the barcode decoder device 102 may be configured to identify image data by receiving image data from one or more other devices that have already captured image data. In some embodiments, identifying image data includes a barcode decoder device 102 configured to capture image data. For example, the barcode decoder device 102 may be configured to identify image data by capturing image data using an image data recognition component 502. In some embodiments, the image data recognition component 502 includes an imaging lens 106 and / or a flash illumination source 104. In some embodiments, identifying image data includes a barcode decoder device 102 configured to generate image data. For example, the barcode decoder device 102 may be configured to generate image data based on other data associated with the image data. In some embodiments, the barcode decoder device 102 is configured to use a processor 202 to identify the image data. In some embodiments, the barcode decoder device 102 is configured to capture image data in response to a user-actuated manual trigger 108 associated with the barcode decoder device 102.

[0187] As shown in box 1004, method 1000 may include determining, by one or more processors, that a region-of-interest (ROI) machine learning model does not meet a training threshold. As described above, in some embodiments, barcode decoder device 102 is configured to determine that the RIO machine learning model 512 does not meet a training threshold by determining that it was trained using data not generated within a specific time period. In this respect, for example, barcode decoder device 102 may be configured to determine that the RIO machine learning model 512 does not meet a training threshold by determining that it was trained using stale data, such that any RIO image data generated by the RIO machine learning model 512 may not meet an accuracy threshold.

[0188] In some embodiments, the barcode decoder device 102 is configured to determine that the region-of-interest (ROI) machine learning model 512 does not meet a training threshold by determining that it was trained using less data than a data volume threshold. For example, the barcode decoder device 102 may be configured to determine that the RIO machine learning model 512 does not meet a training threshold by determining that insufficient data was used to train the RIO machine learning model 512, such that any RIO image data generated by the RIO machine learning model 512 may not meet an accuracy threshold.

[0189] In some embodiments, the barcode decoder device 102 is configured to determine that the Region of Interest (ROI) Machine Learning Model (ROI) 512 does not meet a training threshold by determining that it has not been trained within a specific time period. In this respect, for example, the barcode decoder device 102 may be configured to determine that the RIO Machine Learning Model 512 does not meet a training threshold by determining that it has not been sufficiently trained recently, such that any RIO image data generated by the RIO Machine Learning Model 512 may not meet an accuracy threshold. In other words, for example, the barcode decoder device 102 may be configured to determine that the RIO Machine Learning Model 512 does not meet a training threshold by determining that it is not accurate enough.

[0190] As shown in box 1006, method 1000 may include generating second decoded barcode data by one or more processors by applying image data to a fast linear decoder or an integrated decoder. As described above, in some embodiments, in response to determining that the region of interest machine learning model 512 does not meet a training threshold, barcode decoder device 102 is configured to generate second decoded barcode data by applying second image data to a fast linear decoder 506 and / or an integrated decoder 510. In other words, for example, in response to determining that the region of interest machine learning model 512 does not meet a training threshold, barcode decoder device 102 is configured to use alternatives (e.g., fast linear decoder 506 and / or integrated decoder 510) to decode one or more of one or more barcodes 112.

[0191] Now for reference Figure 11 The flowchart illustrating example method 1100 is shown. At this point, Figure 11 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 1100 defines a computer-implemented process that can be executable by any(multiple) devices and / or systems(multiple) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 1100.

[0192] As shown in box 1102, method 1100 may include converting a region-of-interest (ROI) machine learning model from a floating-point data type to an integer data type by one or more processors. As described above, in some embodiments, barcode decoder device 102 may be configured to convert the RIO machine learning model 512 from a floating-point data type to an 8-bit integer data type. In some embodiments, by converting the RIO machine learning model 512 from a floating-point data type to an integer data type, the RIO machine learning model can generate RIO image data more quickly. In this respect, in some embodiments, barcode decoder device 102 is configured to decode barcodes faster than if the RIO machine learning model 512 were not converted from a floating-point data type to an integer data type. In some embodiments, barcode decoder device 102 is configured to use processor 202 and / or neural processing unit 210 to convert the RIO machine learning model 512 from a floating-point data type to an integer data type. In some embodiments, the conversion of the RIO machine learning model 512 from a floating-point data type to an integer data type is performed according to a quantization technique.

[0193] As shown in box 1104, method 1100 may include initializing a region of interest (ROI) machine learning model in response to receiving a start trigger. As described above, in some embodiments, barcode decoder device 102 is configured to initialize ROI machine learning model 512. In some embodiments, initializing ROI machine learning model 512 includes barcode decoder device 102 loading ROI machine learning model 512 into memory 204 in a format executable by neural processing unit 210. In some embodiments, initialization of ROI machine learning model 512 includes generating and / or loading computational graph(s) according to commands in memory 204 for execution by neural processing unit 210. In some embodiments, once ROI machine learning model 512 is initialized, ROI machine learning model 512 may be configured to generate ROI image data in response to barcode decoder device 102 recognizing image data. In other words, initialization includes preloading the model such that the model can generate ROI image data as soon as image data is recognized by barcode decoder device 102. In some embodiments, by initializing the region of interest machine learning model 512, the barcode decoder device 102 is configured to decode the barcode faster than if the region of interest machine learning model 512 were not initialized.

[0194] In some embodiments, the barcode decoder device 102 is configured to initialize a region of interest machine learning model 512 in response to receiving a start trigger. In some embodiments, the start trigger is a trigger that causes the barcode decoder device 102 to initialize the region of interest machine learning model 512. For example, the start trigger may be a trigger generated when the barcode decoder device is turned on (e.g., by a user associated with the barcode decoder device 102).

[0195] Now for reference Figure 12 The flowchart illustrating example method 1200 is shown. At this point, Figure 12 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 1200 defines a computer-implemented process that can be executable by any(multiple) devices and / or systems(multiple) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 1200.

[0196] As shown in box 1202, method 1200 may include determining the number of regions of interest (ROIs) in one or more regions of interest (ROIs) by one or more processors. As described above, in some embodiments, barcode decoder device 102 may be configured to determine that three ROIs exist in one or more ROIs 402 of image 400.

[0197] As shown in box 1204, method 1200 may include determining the number of pixels in each of one or more regions of interest (ROIs) by one or more processors. As described above, in some embodiments, barcode decoder device 102 may be configured to determine the number of pixels in each of three ROIs in one or more ROIs 402 of image 400 (e.g., the size of each ROI according to the number of pixels).

[0198] As shown in box 1206, method 1200 may include generating region of interest (ROI) timeout parameters based on the number of ROIs and the number of pixels in each ROI. As described above, in some embodiments, barcode decoder device 102 is configured to generate ROI timeout parameters. In some embodiments, barcode decoder device 102 is configured to generate ROI timeout parameters based on the number of ROIs and the number of pixels in each ROI. In this respect, for example, barcode decoder device 102 may be configured to generate ROI timeout parameters using equation (1):

[0199]

[0200] Where n is the number of regions of interest in the image, Tc is the time per pixel (e.g., 100 nanoseconds), A is the number of pixels in each region of interest (e.g., area), Troi is the region of interest processing time (e.g., the amount of time to process a region of interest), and Tbase is the base timeout.

[0201] As shown in block 1208, method 1200 may include applying second region of interest (ROI) image data to a first decoder by one or more processors. As shown in block 1210, method 1200 may include determining, by one or more processors, that a ROI timeout parameter has been exceeded. As described above, in some embodiments, barcode decoder device 102 is configured to determine that the ROI timeout parameter has been exceeded. In some embodiments, barcode decoder device 102 is configured to determine that the ROI timeout parameter has been exceeded when barcode decoder device 102 has applied ROI image data to first decoder 518 and first decoder 518 has not decoded one or more barcodes associated with the ROI image data for a certain amount of time.

[0202] As shown in box 1212, method 1200 may include terminating a first decoder in response to determining that a region of interest (ROI) timeout parameter has been exceeded. As described above, in some embodiments, barcode decoder device 102 is configured to terminate the first decoder in response to determining that the ROI timeout parameter has been exceeded. In this respect, in some embodiments, the ROI timeout parameter represents the amount of time that barcode decoder device 102 allows the first decoder 518 to decode the barcode associated with the ROI image data before the first decoder 518 terminates execution. In some embodiments, the ROI timeout parameter is a dynamic parameter because it is adjusted based on the number of ROIs associated with the ROI image data and / or the number of pixels in each ROI (e.g., the size of each ROI). In this respect, barcode decoder device 102 is able to increase barcode decoding speed by ensuring that the first decoder does not spend excessive time decoding the barcode, while maintaining a high level of barcode decoding accuracy by ensuring that the first decoder 518 does not terminate prematurely. For example, if the barcode decoder device 102 determines that the region of interest timeout parameter has been exceeded, the barcode decoder device 102 can be configured to apply other region of interest image data to the first decoder 518 to decode the barcode. This increases the decoding speed because the barcode decoder device 102 does not waste time trying to decode a barcode that the barcode decoder device 102 may not be able to decode (e.g., because the image of the barcode is unclear).

[0203] Now for reference Figure 13 The flowchart illustrating example method 1300 is shown. At this point, Figure 13 Operations that can be performed by barcode decoder device 102 and / or one or more components of barcode decoder device 102 are illustrated. In some embodiments, example method 1300 defines a computer-implemented process that can be executable by any(s) devices and / or systems(s) embodied in hardware, software, firmware, and / or combinations thereof, as described herein. In some embodiments, computer program code including one or more computer-encoded instructions is stored in at least one non-transitory computer-readable storage medium, such that execution of the computer program code initiates execution of method 1300.

[0204] As shown in box 1302, method 1300 may include an audible alarm output by one or more processors. As described above, in some embodiments, barcode decoder device 102 may be configured to output a first audible alarm when a barcode in one or more barcodes 112 is successfully decoded. As another example, barcode decoder device 102 may be configured to output a second audible alarm when a barcode in one or more barcodes is not successfully decoded. For example, barcode decoder device 102 may be configured to output a second audible alarm when barcode decoder device 102 determines that a region of interest timeout parameter has been exceeded. In some embodiments, the audible alarm may be output via output component 320 of barcode decoder device 102. In this regard, for example, output component 320 may be a loudspeaker.

[0205] As shown in box 1304, method 1300 may include capturing second image data by one or more processors in response to generating decoded barcode data. As described above, in some embodiments, barcode decoder device 102 may be configured to capture second image data. In this respect, in some embodiments, barcode decoder device 102 is configured to automatically capture new image data in response to generating decoded barcode data, without interaction between the barcode decoder device 102 and a user associated with it.

[0206] As shown in box 1306, method 1300 may include a decoded barcode interface component generated by one or more processors. As described above, in some embodiments, the decoded barcode interface component 602 includes one or more decoded barcode interface elements 604. In some embodiments, the one or more decoded barcode interface elements 604 are configured to display decoded barcode data. For example, the one or more decoded barcode interface elements 604 may be configured to display a decoded barcode determined by a barcode decoder device. In some embodiments, the decoded barcode interface component 602 includes one or more action interface elements 608. In some embodiments, the one or more action interface elements 608 are configured to be selected to cause the barcode decoder device 102 to perform an action. For example, the one or more action interface elements 608 may be selected to cause the barcode decoder device 102 to capture image data.

[0207] As shown in box 1308, method 1300 may include one or more processors causing the decoded barcode interface component to be presented to an operational interface. As described above, in some embodiments, the operational interface 600 may be provided by an output component 520 of the barcode decoder device 102. In this regard, for example, the output component 520 may be a display panel.

[0208] As shown in box 1310, method 1300 may include transmitting decoded barcode data to an external computing device by one or more processors. As described above, in some embodiments, barcode decoder device 102 may be configured to transmit decoded barcode data to an external computing device, including an inventory management system. As another example, barcode decoder device 102 may be configured to transmit decoded barcode data to an external computing device that is another barcode decoding system.

[0209] This document has described the operations and / or functions of this disclosure, for example, in flowcharts. As will be appreciated, computer program instructions may be loaded onto a computer or other programmable device (e.g., hardware) to produce a machine, such that the resulting computer or other programmable device implements the operations and / or functions described in the flowchart frames herein. These computer program instructions may also be stored in a computer-readable storage medium that can instruct a computer, processor, or other programmable device to operate and / or run in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of writing, the execution of which implements the operations and / or functions described in the flowchart frames. Computer program instructions may also be loaded onto a computer, processor, or other programmable device to cause a series of operations performed on the computer, processor, or other programmable device to produce a computer-implemented process, such that the instructions executing on the computer, processor, or other programmable device provide operations for implementing the functions and / or operations specified in the flowchart frames. Flowchart frames support combinations of means for performing the specified operations and / or functions, and combinations of operations and / or functions for performing the specified operations and / or functions. It will be understood that one or more frames of a flowchart, and combinations of frames in a flowchart, may be implemented by a computer system based on special-purpose hardware or a combination of special-purpose hardware and computer instructions that performs the specified operations and / or functions.

[0210] While this specification contains numerous specific embodiments and implementation details, these should not be construed as limiting the scope of any disclosure or potentially claimed matter, but rather as descriptions of features specific to particular embodiments of a particular disclosure. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, while features may be described above as functioning in certain combinations, and even initially claimed in this way, one or more features from a claimed combination may be removed from that combination in some cases, and the claimed combination may be for sub-combinations or variations thereof.

[0211] Although operations and / or functions are shown in a specific order in the accompanying drawings, this should not be construed as requiring such operations and / or functions to be performed in the specific order shown or in a sequential order, or requiring the performance of all shown operations to achieve the desired result. In some cases, alternating sequences of operations and / or functions may be advantageous. In some cases, the actions recited in the claims may be performed in a different order and still achieve the desired result. Therefore, while specific embodiments of the subject matter have been described, other embodiments are also within the scope of the following claims.

[0212] Similarly, although operations are shown in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in a sequential order, or requiring all shown operations to be performed to achieve the desired result. In some cases, alternating sequences of operations may be advantageous. In some cases, the actions recited in the claims can be performed in different orders and still achieve the desired result.

Claims

1. A method comprising: Image data is identified by one or more processors, wherein the image data represents an image including one or more barcodes; The neural processing unit generates region of interest image data by applying image data to a region of interest machine learning model, wherein the region of interest image data represents one or more regions of interest in an image, and each of the one or more regions of interest is associated with at least one corresponding barcode of one or more barcodes; Decoded barcode data is generated by one or more processors by applying region-of-interest (ROI) image data to a first decoder, wherein the first decoder is a region-of-interest fast linear decoder or a region-of-interest integrated decoder. and The execution of one or more actions is initiated by one or more processors based at least in part on the decoded barcode data.

2. The method according to claim 1, further comprising: The second image data is identified by the one or more processors, wherein the second image data represents a second image including one or more other barcodes; and The second decoded barcode data is generated by one or more processors by applying the image data to a fast linear decoder.

3. The method according to claim 1, further comprising: The second image data is identified by the one or more processors, wherein the second image data represents a second image including one or more other barcodes; and The second decoded barcode data is generated by one or more processors by applying image data to an integrated decoder.

4. The method according to claim 1, further comprising: The second image data is identified by the one or more processors, wherein the second image data represents a second image including one or more other barcodes; The second image data is applied to a region-of-interest machine learning model. The machine learning model, which determines the region of interest using one or more processors, failed to generate second region of interest image data based on the second image data. and The second decoded barcode data is generated by one or more processors by applying the image data to a fast linear decoder or an integrated decoder.

5. The method of claim 1, further comprising: The second image data is identified by the one or more processors, wherein the second image data represents a second image including one or more other barcodes; A machine learning model that determines the region of interest by one or more processors does not meet the training threshold. and The second decoded barcode data is generated by one or more processors by applying the image data to a fast linear decoder or an integrated decoder.

6. The method of claim 1, further comprising: The region of interest image data is processed by a neural processing unit in one or more of multiple preprocessing machine learning models.

7. The method of claim 6, wherein the plurality of preprocessing machine learning models includes one or more of a light preprocessing machine learning model, a contrast preprocessing machine learning model, a resolution preprocessing machine learning model, or a deblurring preprocessing machine learning model.

8. The method according to claim 1, wherein, The region of interest machine learning model is associated with one of a plurality of integer data types, including 32-bit integer data types, 16-bit integer data types, 8-bit integer data types, and 4-bit integer data types.

9. The method of claim 1, further comprising: The second image data is identified by one or more processors, wherein the second image data represents a second image including optical property information; and The neural processing unit generates second region of interest image data by applying the second image data to a machine learning model of interest, wherein the second region of interest image data represents one or more second regions of interest in the image, and each of the one or more second regions of interest is associated with optical property information.

10. The method of claim 1, further comprising: One or more processors convert the region-of-interest machine learning model from floating-point data type to integer data type. and In response to receiving a start trigger, initialize the machine learning model for the region of interest.

11. The method of claim 1, further comprising: The neural processing unit trains the region-of-interest machine learning model based at least in part on one or more of historical image data, historical region-of-interest image data, or historical decoded barcode data.

12. The method of claim 1, further comprising: The number of regions of interest (ROIs) in one or more regions of interest is determined by one or more processors. The number of pixels in each of one or more regions of interest is determined by one or more processors. and The region of interest (ROI) timeout parameter is generated based on the number of ROIs and the number of pixels in each ROI.

13. The method of claim 12, further comprising: One or more processors apply the second region of interest image data to the first decoder; One or more processors determine that the timeout parameter for the region of interest has been exceeded; and The first decoder terminates in response to the determination that the timeout parameter for the region of interest has been exceeded.

14. The method of claim 1, further comprising: One or more status flags associated with the region of interest image data are generated by one or more processors; and One or more status flags are stored by one or more processors.

15. The method of claim 1, wherein initiating the execution of one or more actions by the one or more processors comprises: An audible alarm is output by one or more processors.

16. The method of claim 1, wherein initiating the execution of one or more actions by the one or more processors comprises: In response to the generation of decoded barcode data, a second image data is captured by one or more processors.

17. The method of claim 1, wherein initiating the execution of one or more actions by the one or more processors comprises: The one or more processors generate a decoded barcode interface component, wherein the decoded barcode interface component includes one or more decoded barcode interface elements; and One or more processors enable the decoded barcode interface components to be presented to the operating interface.

18. The method of claim 1, wherein initiating the execution of one or more actions by the one or more processors comprises one or more of the following: One or more processors transmit the decoded barcode data to an external computing device.

19. An apparatus comprising a memory and one or more processors communicatively coupled to the memory, the one or more processors being configured to: Image data is identified by the one or more processors, wherein the image data represents an image including one or more barcodes; The neural processing unit generates region of interest image data by applying image data to a region of interest machine learning model, wherein the region of interest image data represents one or more regions of interest in an image, and each of the one or more regions of interest is associated with at least one corresponding barcode of one or more barcodes; The one or more processors generate decoded barcode data by applying the region of interest image data to a first decoder, wherein the first decoder is a region of interest fast linear decoder or a region of interest integrated decoder; and The execution of one or more actions is initiated by one or more processors based at least in part on the decoded barcode data.

20. A computer program product comprising at least one non-transitory computer-readable storage medium having computer program code stored thereon, the computer program code being executed by one or more processors to configure the computer program product for: Image data is identified by the one or more processors, wherein the image data represents an image including one or more barcodes; The neural processing unit generates region of interest image data by applying image data to a region of interest machine learning model, wherein the region of interest image data represents one or more regions of interest in an image, and each of the one or more regions of interest is associated with at least one corresponding barcode of one or more barcodes; Decoded barcode data is generated by one or more processors by applying region-of-interest (ROI) image data to a first decoder, wherein the first decoder is a region-of-interest fast linear decoder or a region-of-interest integrated decoder. and The execution of one or more actions is initiated by one or more processors based at least in part on the decoded barcode data.