Patent Description:
Barcode identification systems are important tools for logistics managers. A user may scan a barcode on an object by a barcode scanner so as to acquire information related to the object. On the other hand, a user may also manage inventory of a logistics database by means of scanning barcodes.

An object may go through different warehousing or inspection checkpoints during the delivery or manufacturing processes, and thus multiple barcodes may be provided on the object. However, sequentially scanning multiple barcodes is a time-consuming task for a user. <CIT> discloses a method for scanning multiple barcodes, comprising: reading a tag template, the tag template having a plurality of detection zones each corresponding to a target barcode type; capturing a tag by a capturing unit to obtain a tag image, wherein the tag image has at least one barcode pattern to be detected, and each barcode pattern to be detected has coordinate information on an image coordinate system; comparing the tag image with the tag template, and determining, according to the relative coordinate information of each barcode pattern to be detected, whether the barcode pattern to be detected is located in one of the detection zones; and if the barcode pattern to be detected is located in one of the detection zones and matches the corresponding target barcode type, reading the barcode pattern to be detected located in the detection zone to acquire a read result.

The present invention provides a scanning method for multiple barcodes according to independent claim <NUM> and an electronic device for scanning multiple barcodes according to independent claim <NUM>. The dependent claims show further preferred embodiments of the said method and device, respectively. The scanning method for multiple barcodes includes loading a tag template, the tag template having a plurality of detection zones each corresponding to a target barcode type; capturing a tag by an image capturing unit to obtain a tag image, wherein the tag image has at least one barcode pattern to be detected, and each barcode pattern to be detected has coordinate information on an image coordinate system; overlaying the tag image with the tag template, and determining, according to the coordinate information of each barcode pattern to be detected, whether the barcode pattern to be detected is located in one of the detection zones; if the barcode pattern to be detected is located in one of the detection zones and matches the corresponding target barcode type, reading the barcode pattern to be detected located in the detection zone to acquire a read result.

In some embodiments, the coordinate information includes a plurality of corner coordinates of the barcode pattern to be detected on the image coordinate system.

In some embodiments, the overlaying of the tag image with the tag template includes selecting a reference point from the tag image, selecting a corresponding point from the tag template according to the reference point, and mapping the corresponding point to the reference point such that the tag image is overlaid with the tag template.

In some embodiments, the mapping of the corresponding point to the reference point such that the tag image is overlaid with the tag template includes obtaining a scaling ratio by an electronic device, and adjusting a range in which the tag image is overlaid with the tag template by the electronic device according to the scaling ratio.

In some embodiments, the tag template further has output order information of a plurality of detection zones, and the scanning method for multiple barcodes further includes outputting all of the acquired read results according to the output order information.

In some embodiments, if the barcode pattern to be detected located in the detection zone does not match the corresponding target barcode type, the barcode pattern to be detected located in the detection zone is not read.

If a partial zone of the barcode pattern to be detected is located in the detection zone, it is determined whether a coverage ratio of the partial zone to the detection zone is greater than a threshold, and if the coverage ratio is greater than or equal to the threshold and the barcode pattern to be detected located in the detection zone matches the corresponding target barcode type, the barcode pattern to be detected located in the detection zone is read to acquire the read result.

In some embodiments, if the barcode pattern to be detected located in the detection zone does not match the corresponding target barcode type, and the number of barcodes of the barcode pattern to be detected does not match a number of the corresponding target barcode, the barcode pattern to be detected located in the detection zone is not read.

In some embodiments, a combined image formed by the tag image overlaid with the tag template is displayed.

In some embodiments, a brightness level of the detection zones in which all barcode patterns to be detected that match the corresponding target barcode type in the combined image are located is higher than a brightness level of a remaining area in the combined image.

The electronic device for scanning multiple barcodes includes an image capturing unit, a storage unit and a processing unit. The image capturing unit captures a tag to obtain a tag image. The tag image has at least one barcode pattern to be detected, and each barcode pattern to be detected has coordinate information on an image coordinate system. The storage unit stores a tag template and a tag reading program, wherein the tag template has a plurality of detection zones each corresponding to a target barcode type. The processing unit is electrically connected to the image capturing unit and the storage unit, and operates the tag reading program so as to overlay the tag image with the tag template, determine, according to the coordinate information of each barcode pattern to be detected, whether the barcode pattern to be detected is located in one of the detection zones, and if the barcode pattern to be detected is located in one of the detection zones and matches a target barcode type, decode the barcode pattern to be detected located in the detection zone to acquire a read result.

In some embodiments, if the barcode pattern to be detected located in the detection zone does not match the corresponding target barcode type, the processing unit does not decode the barcode pattern to be detected located in the detection zone.

If a partial zone of the barcode pattern to be detected is located in the detection zone, the processing unit is configured to further determine whether a coverage ratio of the partial zone to the detection zone is greater than a threshold, and if the coverage ratio is greater than or equal to the threshold and the barcode pattern to be detected located in the detection zone matches the corresponding target barcode type, decode the barcode pattern to be detected located in the detection zone to acquire the read result.

In some embodiments, the processing unit overlays the tag image with the tag template by selecting a reference point from the tag image, selecting a corresponding point from the tag template according to the reference point, and mapping the corresponding point to the reference point.

In some embodiments, the processing unit overlays the tag image with the tag template by obtaining a scaling ratio and adjusting a range in which the tag image is overlaid with the tag template according to the scaling ratio.

In some embodiments, if the barcode pattern to be detected located in the detection zone does not match the corresponding target barcode type, and the number of barcodes of the barcode pattern to be detected does not match a number of the corresponding target barcode, the processing unit does not decode the barcode pattern to be detected located in the detection zone.

In conclusion, the scanning method and the electronic device for multiple barcodes of any of the embodiments provide a function of simultaneously scanning multiple barcodes by using a tag template, so as to generate a read result of a barcode with absolute coordinates matching a detection zone and a format matching a corresponding target barcode type. In some embodiments, the scanning method and the electronic device for multiple barcodes are further capable of setting an output order of the detection zones in the tag template and accordingly outputting the generated read result.

Referring to <FIG>, <FIG> and <FIG>, an electronic device for scanning multiple barcodes (hereinafter referred to as an electronic device <NUM> includes an image capturing unit <NUM>, a storage unit <NUM>, a display unit <NUM> and a processing unit <NUM>. The processing unit <NUM> is electrically connected to the image capturing unit <NUM>, the storage unit <NUM> and the display unit <NUM>.

The image capturing unit <NUM> captures a tag <NUM> to acquire a tag image <NUM> of the tag <NUM>. In some embodiments, the image capturing unit <NUM> may capture the tag <NUM> by means of video recording to acquire the tag image <NUM>, or may capture the tag <NUM> by means of photographing to acquire one single tag image <NUM>.

In one embodiment, the tag image <NUM> may be a real-time image currently captured by the image capturing unit <NUM>; in other words, the tag image <NUM> is a real-time image. For example, when a scanning procedure <NUM> for multiple barcodes is executed, the processing unit <NUM> enables (or activates) the image capturing unit <NUM>. The image capturing unit <NUM> generates the tag image <NUM> of the tag <NUM> by means of capturing the tag <NUM>, and provides the tag image <NUM> currently captured to the processing unit <NUM>. The processing unit <NUM> obtains the current tag image <NUM> and then analyzes the tag image <NUM> to obtain a barcode pattern <NUM> to be detected in the tag image <NUM> and coordinate information of the barcode pattern <NUM> to be detected on a 2D image coordinate system. In another embodiment, the tag image <NUM> may also be a digital image captured by the image capturing unit <NUM> in advance and stored in the storage unit <NUM>. When the processing unit <NUM> executes the scanning procedure <NUM> for multiple barcodes, the processing unit <NUM> reads and obtains the tag image <NUM> from the storage unit <NUM>.

The tag <NUM> has one or more barcodes <NUM>. At this point in time, the tag image <NUM> of the tag <NUM> similarly has barcode patterns <NUM> to be detected of the barcodes <NUM>. Since the barcode patterns <NUM> to be detected are images corresponding to the barcodes <NUM>, barcode types of the barcode patterns <NUM> to be detected are the same as barcode types of the corresponding barcodes <NUM>.

In some embodiments, the tag image <NUM> may include the barcode patterns <NUM> to be detected of the same or different barcode types, as shown in <FIG>. In other words, the barcodes <NUM> on the tag <NUM> may be coded by the same method (that is, having the same barcode type), or may be coded by different methods (that is, having different barcode types). Moreover, a portion of the barcodes <NUM> on the tag <NUM> may be coded by the same method (that is, having the same barcode type), or while another portion of the barcodes <NUM> may be coded by different methods (that is, having different barcode types). For example, the tag image <NUM> may simultaneously have the barcode patterns <NUM> to be detected <NUM> of one-dimensional barcodes (that is, the barcodes <NUM>) and two-dimensional barcodes (that is, the barcodes <NUM>). In some embodiments, the barcode types of the barcodes <NUM> and the barcode patterns <NUM> to be detected may be, for example but not limited to, any one-dimensional barcode (for example, Code <NUM> barcodes, interleaved <NUM> barcodes, EAN-<NUM> barcodes, EAN-<NUM> barcodes, or Code <NUM> barcodes) or any two-dimensional barcode (QR codes, PDF <NUM> codes, composite barcodes, or Data Matrix barcodes).

The storage unit <NUM> stores at least one tag template <NUM>, a tag reading program <NUM> and the scanning procedure <NUM> for multiple barcodes. The tag template <NUM> has a plurality of detection zones <NUM>, as shown in <FIG>. In the tag template <NUM>, these detection zones <NUM> are in a non-overlapping arrangement (or configuration) from one another. In addition to being used to define positions of the barcode patterns <NUM> to be detected, the detection zones <NUM> are also used to identify whether the barcode patterns <NUM> to be detected are target barcodes. A barcode pattern that is to be identified and read by the detection zones <NUM> and has a predetermined target barcode type is referred to as a target barcode pattern (not denoted with numerals or symbols). In other words, each of the detection zones <NUM> corresponds to a configuration position and a target barcode type. The configuration position records coordinate information of the target barcode pattern in the tag image <NUM> to be detected, and the detection zone <NUM> is defined by the corresponding configuration position. The target barcode type records the type of coded barcode to which the target barcode belongs.

In some embodiments, the configuration position includes coordinate values (hereinafter referred to as corner coordinates) of a plurality of corners of the target barcode pattern on the image coordinate system and/or border lengths thereof. Each of the corner coordinates is a pixel position in the tag template <NUM>. Since the tag template <NUM> is a plane image, the pixel distribution of an image of the tag template <NUM> may be regarded as a two-dimensional right-angle coordinate system (that is, the above image coordinate system). In other words, each of the corner coordinates is an absolute coordinate on the image coordinate system. In some embodiments, each target barcode pattern (that is, the barcode pattern <NUM> to be detected located in the detection zone <NUM>) may be rectangular, and the coordinate information thereof may be absolute coordinates of a plurality of vertices of the target barcode pattern on the image coordinate system.

In some embodiments, in addition to being predetermined when shipped out of the factory, the tag template <NUM> may also be established by a user by means of operating the electronic device <NUM>.

In some embodiments, the processing unit <NUM> executes a template establishment procedure by operating a template setting function of the tag reading program <NUM>. In other words, during the establishing of the tag template <NUM>, the processing unit <NUM> drives the image capturing unit <NUM> to capture the tag <NUM> to acquire the tag image <NUM> of the tag <NUM>. Once the tag image <NUM> is obtained, the processing unit <NUM> displays the captured tag image <NUM> on the display unit <NUM>. A user may select, by operating an operation interface of the electronic device <NUM> (for example, a touch function of the display unit <NUM>), one or more barcode patterns <NUM> to be detected as a target barcode from the tag image <NUM> displayed by the display unit <NUM>. When the selection is completed (for example, after a user clicks a confirm key on the operation interface), the processing unit <NUM> establishes, according to the selected detection zone <NUM> in which each target barcode is provided (that is, identifying the position of each target barcode in the tag image <NUM> and the barcode type of the target barcode to respectively generate a corresponding configuration position and the target barcode type, and generating the corresponding detection zone <NUM> based on each configuration position), a new tag template <NUM> (that is, having the generated detection zone <NUM>) and stores the new tag template <NUM> in the storage unit <NUM>. Thus, when a tag scanning function of the tag reading program <NUM> is operated, the processing unit <NUM> is able to perform identification for the barcode pattern <NUM> to be detected falling within each detection zone <NUM> in the tag image <NUM> according to the tag template <NUM>.

In some embodiments, during the establishing of the tag template <NUM>, the processing unit <NUM> further sequentially sets a serial number (as shown in <FIG>) for the selected detection zone <NUM> according to the selection order of the target barcode, and generates output order information <NUM> according to the serial numbers of all the detection zones <NUM>. Herein, the output order information <NUM> records the output order of information decoded from the barcode pattern <NUM> to be detected in the detection zone <NUM>. In <FIG>, the number in a thin line box represents the serial number of the detection zone <NUM>. Moreover, the serial numbers of all the detection zones <NUM> are sequentially numbered according to the selection order of the target barcodes to indicate the output order thereof.

In some embodiments, the processing unit <NUM> operates the tag reading program <NUM> to execute the scanning procedure <NUM> for multiple barcodes so as to identify the captured tag image <NUM>. Referring to <FIG> (<FIG> is not showing all features of independent claim <NUM>), in the scanning procedure <NUM> for multiple barcodes, the processing unit <NUM> performs the following steps.

In step S410, the processing unit <NUM> loads a tag template <NUM>.

In step S420, the processing unit <NUM> obtains a tag image <NUM>, which has at least one barcode pattern <NUM> to be detected, and each barcode pattern <NUM> to be detected has coordinate information on an image coordinate system.

In step S430, the processing unit <NUM> overlays the tag image <NUM> with the tag template <NUM>.

In step S440, the processing unit <NUM> determines, according to the coordinate information, whether each barcode pattern <NUM> to be detected is located in one of the detection zones <NUM>.

In step S460, if the barcode pattern <NUM> to be detected is located in one of the detection zones <NUM>, the processing unit <NUM> further determines whether the barcode type (hereinafter as an associated barcode type) of the barcode pattern <NUM> to be detected matches a target barcode type corresponding to the located detection zone <NUM>.

In step S470, if the associated barcode type of the barcode pattern <NUM> to be detected matches the target barcode type corresponding to the located detection zone <NUM>, the processing unit <NUM> reads (or decodes) the barcode pattern <NUM> to be detected (that is, the target barcode pattern) located in the detection zone <NUM> to acquire a read result (that is, information represented by the barcode pattern <NUM> to be detected located in the detection zone <NUM>).

In step S480, if the associated barcode type of the barcode pattern <NUM> to be detected does not match the target barcode type corresponding to the located detection zone <NUM>, or the barcode pattern <NUM> to be detected is not located in one of the detection zones <NUM>, the processing unit <NUM> does not read (or decode) the barcode pattern <NUM> to be detected located in the detection zone <NUM>.

In some embodiments, referring to <FIG> and <FIG>, in the scanning procedure <NUM> for multiple barcodes, the processing unit <NUM> performs the following steps after step S410 to step S440.

In step S450, if a partial zone of the barcode pattern <NUM> to be detected is located in one of the detection zones <NUM>, the processing unit <NUM> determines whether a coverage ratio of the partial zone to the detection zone <NUM> is greater than a threshold.

In step S460, if the barcode pattern <NUM> to be detected is located in one of the detection zones <NUM> or the coverage ratio is greater than or equal to the threshold, the processing unit <NUM> further determines whether the barcode type (hereinafter as an associated barcode type) of the barcode pattern <NUM> to be detected matches the target barcode type corresponding to the located detection zone <NUM>.

In step S480, if the associated barcode type of the barcode pattern <NUM> to be detected does not match the target barcode type corresponding to the located detection zone <NUM>, or the barcode pattern <NUM> to be detected is not located in one of the detection zones <NUM>, or the coverage ratio is smaller than the threshold or the barcode pattern <NUM> to be detected is not located in the detection zone <NUM>, the processing unit <NUM> does not read (or decode) the barcode pattern <NUM> to be detected located in the detection zone <NUM>.

In some embodiments, referring to <FIG>, in the scanning procedure <NUM> for multiple barcodes, the processing unit <NUM> performs the following steps after step S470.

In step S490, the processing unit <NUM> outputs all the acquired read results (that is, information represented by the barcode patterns <NUM> to be detected located in the detection zones <NUM>) according to the output order information.

In some embodiments, first of all, a user selects the tag template <NUM> by the operation interface of the electronic device <NUM>, so as to enable the processing unit <NUM> to read and load the selected tag template <NUM> from the storage unit <NUM> according to the selection. Then, the processing unit <NUM> enables the image capturing unit <NUM> to start capturing. When the image capturing unit <NUM> generates and provides the tag image <NUM> of the tag <NUM> by capturing the tag <NUM> to the processing unit <NUM>, the processing unit <NUM> overlays the tag image <NUM> with the tag template <NUM>, and at the same time displays on the display unit <NUM> a combined image IMd formed by overlaying of the tag image <NUM> with the tag template <NUM>, as shown in <FIG>.

Once the tag image <NUM> is acquired, the processing unit <NUM> analyzes the tag image <NUM> to identify all barcode patterns <NUM> to be detected in the tag image <NUM> and coordinate information (not shown) of each barcode pattern <NUM> to be detected. In some embodiments, the coordinate information of each barcode pattern <NUM> to be detected includes coordinate values (hereinafter referred to as corner coordinates) of a plurality of corners of the barcode pattern <NUM> to be detected on the image coordinate system and/or border lengths thereof. The corner coordinates correspond to pixel positions in the tag template <NUM>. In other words, the corner coordinates are pixel positions on the corners of the barcode pattern <NUM> to be detected in the tag image <NUM> having the same display size as the tag template <NUM>. Since the tag image <NUM> is a plane image, the pixel distribution of an image of the tag image <NUM> may be regarded as a two-dimensional right-angle coordinate system (that is, the above image coordinate system). In other words, the corner coordinate is an absolute coordinate of a corner of the barcode pattern <NUM> to be detected on the image coordinate system. In some embodiments, each barcode pattern <NUM> to be detected may be rectangular, and the coordinate information thereof may be absolute coordinates of a plurality of vertices of the barcode pattern <NUM> to be detected on the image coordinate system.

Thus, the coordinate in the coordinate information uses the tag template <NUM> as a reference. Moreover, during image capturing, the processing unit <NUM> overlays the tag image <NUM> with the tag template <NUM>, and hence the coordinate values of each corner of the barcode pattern <NUM> to be detected in the tag image <NUM> can be mapped to the tag template <NUM>. For example, assume that the image resolution of an image captured by the image capturing unit <NUM> is <NUM>*<NUM> (pixels), and an upper-left corner of the tag image <NUM> is an origin. Thus, the coordinate values of the four vertices of the tag image <NUM> are respectively (<NUM>, <NUM>), (<NUM>, <NUM>), (<NUM>, <NUM>) and (<NUM>, <NUM>). If the resolutions of the tag template <NUM> and the tag image <NUM> are the same, the processing unit <NUM> may directly overlay the tag image <NUM> with the tag template <NUM>.

If the resolutions of the tag template <NUM> and the tag image <NUM> are different, the processing unit <NUM> first scales up or scales down the tag image <NUM>. In continuation of the above example, assume that the size of the tag template <NUM> is <NUM>*<NUM> (pixels). The processing unit <NUM> can acquire an image ratio according to the tag image <NUM> and the tag template <NUM>. In other words, the processing unit <NUM> calculates an image length ratio according to the lengths of the tag image <NUM> and the tag template <NUM>, and calculates an image width ratio according to widths of the tag image <NUM> and the tag template <NUM>, with reference to the following equations (in continuation of the above example): <MAT> <MAT>.

Taking the pixel coordinates of four vertices as the corner coordinates for example, the processing unit <NUM> calculates converted corner coordinates (corresponding to original corner coordinates of four vertices) of four vertices of each barcode pattern <NUM> to be detected according to the image length ratio and the image width ratio. The processing unit <NUM> determines, according to the converted corner coordinates of each barcode pattern <NUM> to be detected and a corner coordinate set of the detection zones <NUM> of the tag template <NUM>, whether the barcode pattern <NUM> to be detected is located in one of the detection zones <NUM>. In general, when the converted corner coordinates of the barcode pattern <NUM> to be detected are all located in the same detection zone <NUM>, the processing unit <NUM> reads (that is, decode) the barcode pattern <NUM> to be detected located in the detection zone <NUM> according to the target barcode type of the detection zone <NUM>, so as to acquire information (that is, a read result) represented by the barcode pattern <NUM> to be detected.

More specifically, when the converted corner coordinates of the barcode pattern <NUM> to be detected are all located in the same detection zone <NUM>, the processing unit <NUM> first determines whether the associated barcode type of the barcode pattern <NUM> to be detected matches the target barcode type corresponding to the located detection zone <NUM>. If the target barcode type of the detection zone <NUM> matches the associated barcode type of the barcode pattern <NUM> to be detected, the processing unit <NUM> reads the barcode pattern <NUM> to be detected and outputs the read result of the barcode pattern <NUM> to be detected. Conversely, if not, the processing unit <NUM> does not read the barcode pattern <NUM> to be detected. In some embodiments, when the barcode pattern <NUM> to be detected is not located in one of the detection zones <NUM> or the barcode type does not match, in addition to not reading the barcode pattern <NUM> to be detected, the processing unit <NUM> may further output an error message to remind a user that the barcode pattern <NUM> to be detected cannot be correctly identified.

In some embodiments, when the coordinate information of the barcode pattern <NUM> to be detected is corner coordinates of a plurality of corners, during the scanning process of the barcode pattern <NUM> to be detected, the processing unit <NUM> may determine, according to positions at which the corner coordinates of each corner fall in the coordinate information of the barcode pattern <NUM> to be detected, whether the barcode pattern <NUM> to be detected is located in the detection zone <NUM>. Take the coordinate information as coordinate values of four vertices on the image coordinate system of the tag template <NUM> for example. If the coordinate values of the four vertices of the barcode pattern <NUM> to be detected are all located in the same detection zone <NUM>, the processing unit <NUM> can directly read the barcode pattern <NUM> to be detected. If the coordinate values of any of the four vertices of the barcode pattern <NUM> to be detected do not fall in the detection zone <NUM>, the processing unit <NUM> calculates a coverage ratio of a partial zone of the barcode pattern <NUM> to be detected located in the detection zone <NUM>, and determines whether the calculated coverage ratio is greater than a threshold. The coverage ratio is the size of an overlapping area between the barcode pattern <NUM> to be detected and the detection zone <NUM>. In general, the value of the coverage ratio may be regarded as a barcode tolerance. A larger coverage ratio indicates that more parts of the barcode pattern <NUM> to be detected can be identified, and so the error correction capability of the tag reading program <NUM> is higher. The threshold may be determined, preset and stored in the storage unit <NUM> according to the target barcode type of a target barcode to be detected in all the detection zones <NUM>.

When the coverage ratio is smaller than the threshold, the processing unit <NUM> does not read the barcode pattern <NUM> to be detected, and even outputs an error message to remind a user that the barcode pattern <NUM> to be detected cannot be correctly identified. When the coverage ratio is greater than or equal to the threshold, the processing unit <NUM> identifies a portion of the barcode pattern <NUM> to be detected located in the detection zone <NUM>. At this point in time, the processing unit <NUM> first determines whether the associated barcode type of the barcode pattern <NUM> to be detected matches the target barcode type corresponding to the detection zone <NUM>, and reads the barcode pattern <NUM> to be detected, so as to acquire a read result of the barcode pattern <NUM> to be detected.

In case of a plurality of barcode patterns <NUM> to be detected overlapping the detection zone <NUM> (that is, located in the detection zone <NUM>), the processing unit <NUM> repeats the above determination logic so as to read all the barcode patterns <NUM> to be detected located in the detection zone <NUM>.

In some embodiments, if there are many groups of barcode patterns <NUM> to be detected in the tag image <NUM> and there are a plurality of barcode patterns <NUM> to be detected located in the detection zone <NUM>, the processing unit <NUM> may perform identification sequentially on the detection zone <NUM> according to the output order information of the tag template <NUM>.

In some embodiments, if there are many groups of barcode patterns <NUM> to be detected in the tag image <NUM> and there are a plurality of barcode patterns <NUM> to be detected located in the detection zone <NUM>, after reading all of the barcode patterns <NUM> to be detected located in the detection zone <NUM>, the processing unit <NUM> may sequentially output the read results of barcode patterns <NUM> to be detected according to the output order information <NUM> of the tag template <NUM>.

In some embodiments, the processing unit <NUM> uses the read order of the barcode pattern <NUM> to be detected as the write order of the read result. To clearly describe the read order, refer to the tag template <NUM> shown in <FIG>. The serial numbers of the detection zones <NUM> in <FIG> represent the output order of the detection zones <NUM>. Further speaking, the processing unit <NUM> reads in a first-in-first-out manner the read result of the barcode pattern <NUM> to be detected according to the serial number of the detection zone <NUM> and writes the read result to the storage unit <NUM>, and then sequentially outputs and displays the read result of each barcode pattern <NUM> to be detected on the display unit <NUM>.

In some embodiments, when the scanning procedure <NUM> for multiple barcodes of the tag reading program <NUM> is executed, if an identification error occurs in one of the detection zones <NUM>, the processing unit <NUM> may skip the detection zone <NUM> with the error, and continue the identification of the barcode pattern <NUM> to be detected for the detection zone <NUM> of the next serial number.

In some embodiments, the processing unit <NUM> may adjust the detection range of each detection zone <NUM>, so as to enhance the identification success rate in case of swaying of the electronic device <NUM>. In general, referring to <FIG> and <FIG>, a solid line box in <FIG> represents an original detection range of the detection zone <NUM> (hereinafter referred to as an original detection zone <NUM>), and a dotted line box outside the detection zone <NUM> is an expanded detection zone (hereinafter referred to as an expanded detection zone <NUM>).

In some embodiments, in the above determination steps (that is, step S440 and step S450), the processing unit <NUM> may perform determination based on the original detection zone of the detection zone <NUM>. More specifically, in step S440, the processing unit <NUM> determines whether the coordinate information of the barcode pattern <NUM> to be detected falls within the original detection zone <NUM>. In step S450, the processing unit <NUM> calculates the coverage ratio based on the barcode pattern <NUM> to be detected and the original detection zone of the detection zone <NUM>, and compares the coverage ratio with the threshold.

In some other embodiments, in the above determination steps (that is, step S440 and step S450), the processing unit <NUM> may also perform determination based on the expanded detection zone <NUM> of the detection zone <NUM>. More specifically, in step S440, the processing unit <NUM> determines whether the coordinate information of the barcode pattern <NUM> to be detected falls within the expanded detection zone <NUM>. In step S450, the processing unit <NUM> calculates the coverage ratio based on the barcode pattern <NUM> to be detected and the expanded detection zone <NUM> of the detection zone <NUM>, and compares the coverage ratio with the threshold. When the barcode pattern <NUM> to be detected is located in the expanded detection zone <NUM>, the processing unit <NUM> reads the content of the barcode pattern <NUM> to be detected according to the target barcode type corresponding to the detection zone <NUM> to acquire a read result. In other words, as shown in <FIG>, even if the barcode pattern <NUM> to be detected is located between the detection zone <NUM> and the expanded detection zone <NUM>, the processing unit <NUM> is also able to read the barcode pattern <NUM> to be detected according to the target barcode type of the detection zone <NUM> and generate a corresponding read result.

In some embodiments, in the overlaying step (that is, step S430), before displaying, the processing unit <NUM> adjusts a brightness level of a partial area in the combined image IMd, so as to emphasize the detection zone <NUM> in which the barcode pattern <NUM> to be detected can be read. In some embodiments, a brightness level of the detection zones <NUM> in which all barcode patterns <NUM> to be detected that match the corresponding target barcode type in the combined image IMd are located is higher than a brightness level of a remaining area in the combined image IMd. In other words, the processing unit <NUM> reduces a brightness level of a remaining area in the combined image IMd compared to the detection zones <NUM> in which all barcode patterns <NUM> to be detected that match the corresponding target barcode type in the combined image IMd are located. For example, in the combined image IMd, parts other than the detection zone <NUM> where the barcode pattern <NUM> to be detected (that is, the target barcode pattern) is located can be in a grayscale image for differentiation purposes.

In some embodiments, the electronic device <NUM> may be, for example but not limited to, a mobile phone, a tablet computer, a personal computer, a laptop computer or a barcode scanner.

In some embodiments, the image capturing unit <NUM> may be implemented by a combination of a camera lens, a lens and an image processor.

In some embodiments, the storage unit <NUM> may be implemented by one or more memories, each of which may be, for example but not limited to, a memory or a register.

In some embodiments, the display unit <NUM> may be, for example but not limited to, a touch screen or a common display screen (without a touch function).

In some embodiments, the processing unit <NUM> may be implemented by one or more processors, each of which may be, for example but not limited to, a central processing unit (CPU), a system-on-chip (SoC), a general purpose or application specific microprocessor, a digital signal processor (DSP), a programmable logic controller (PLC), an application specific integrated circuit (ASIC), a programmable logic device (PLD) or a similar processing device, or a combination of these devices.

In some embodiments, the scanning method for multiple barcodes according to any embodiment may be implemented by a computer program product. In other words, the scanning method for multiple barcodes according to any embodiment can be completed when the electronic device <NUM> loads and executes the tag reading program <NUM> including a plurality of program codes. In some embodiments, the computer program product may be a readable recording medium, and the above program may be stored in the readable recording medium so as to be loaded by the electronic device <NUM>. In some embodiments, the above program may be a computer program product, and may be transmitted in a wired or wireless manner into the electronic device <NUM>.

In some embodiments, the processing unit <NUM> at the same time determines the number of barcodes of the barcode pattern <NUM> to be detected while performing step S460. Refer to <FIG> is not showing all features of independent claim <NUM>). When the processing unit <NUM> executes the scanning procedure <NUM> for multiple barcodes, the processing unit <NUM> performs the following steps.

In step S810, if the barcode pattern <NUM> to be detected located in the detection zone <NUM> does not match the corresponding target barcode type, and the number of barcodes of the barcode pattern <NUM> to be detected does not match a number of the corresponding target barcode, the processing unit <NUM> does not read the barcode pattern <NUM> to be detected located in the detection zone <NUM>.

In step S470, if the associated barcode type of the barcode pattern <NUM> to be detected matches the target barcode type corresponding to the located detection zone <NUM>, the processing unit <NUM> reads the barcode pattern <NUM> to be detected located in the detection zone <NUM> to acquire a read result.

In step S480, if the associated barcode type of the barcode pattern <NUM> to be detected does not match the target barcode type corresponding to the located detection zone <NUM>, or the barcode pattern <NUM> to be detected is not located in one of the detection zones <NUM>, the processing unit <NUM> does not read the barcode pattern <NUM> to be detected located in the detection zone <NUM>.

First of all, the processing unit <NUM> performs steps S410 to S440, and the operation details of steps S410 to S440 can be referred from the above description. In addition to determining whether the barcode type of the barcode pattern <NUM> to be detected in the detection zone <NUM> and the target code type are the same, the processing unit <NUM> further determines whether the number of barcodes of the barcode pattern <NUM> to be detected is the same as the number of barcodes of the target barcode (corresponding to step S810).

If both of the barcode type and the number of barcodes of the barcode pattern <NUM> to be detected0 are the same as the barcode type and the number of barcodes of the target barcode, the processing unit <NUM> reads the barcode pattern <NUM> to be detected located in the detection zone <NUM> and acquires a corresponding read result (refer to the processing details of step S470 in the description above). If not, the processing unit <NUM> does not perform the related processing of reading on the barcode pattern <NUM> to be detected (refer to the processing details of step S480 in the description above). The processing unit <NUM> may drive the display unit <NUM> to play a message related to a read error so as to provide a reminder for the user.

In some embodiments, referring to <FIG>, <FIG> and <FIG>, in the scanning procedure <NUM> for multiple barcodes, the processing unit <NUM> performs the following steps after step S440.

In step S470, if the associated barcode type of the barcode pattern <NUM> to be detected matches the target barcode type corresponding to the located detection zone <NUM>, the processing unit <NUM> reads the barcode pattern <NUM> to be detected located in the detection zone <NUM> to the acquire a read result.

In step S480, if the associated barcode type of the barcode pattern <NUM> to be detected does not match the target barcode type corresponding to the located detection zone <NUM>, or the barcode pattern <NUM> to be detected is not located in one of the detection zones <NUM>, or the coverage ratio is smaller than the threshold or the barcode pattern <NUM> to be detected is not located in the detection zone <NUM>, the processing unit <NUM> does not read the barcode pattern <NUM> to be detected located in the detection zone <NUM>.

When the scanning procedure <NUM> for multiple barcodes determines that the barcode pattern <NUM> to be detected is not located in the detection zone <NUM>, the coverage ratio of the barcode pattern <NUM> to be detected is smaller than the threshold, or the barcode type of the barcode pattern <NUM> to be detected is different or the number of barcodes of the barcode pattern <NUM> to be detected does not match, the processing unit <NUM> does not read the barcode pattern <NUM> to be detected (corresponding to step S810).

Claim 1:
A scanning method for multiple barcodes, comprising:
loading a tag template (<NUM>), the tag template (<NUM>) having a plurality of detection zones (<NUM>) each corresponding to a target barcode type;
capturing a tag (<NUM>) by a capturing unit to obtain a tag image (<NUM>), wherein the tag image (<NUM>) has at least one barcode pattern (<NUM>) to be detected, and each barcode pattern (<NUM>) to be detected has coordinate information on an image coordinate system;
overlaying the tag image (<NUM>) with the tag template (<NUM>), and determining, according to the coordinate information of each barcode pattern (<NUM>) to be detected, whether the barcode pattern (<NUM>) to be detected is located in one of the detection zones (<NUM>); and
if the barcode pattern (<NUM>) to be detected is located in one of the detection zones and matches the corresponding target barcode type, reading the barcode pattern (<NUM>) to be detected located in the detection zone (<NUM>) to acquire a read result;
wherein the scanning method for multiple barcodes further comprises:
if a partial zone of the barcode pattern (<NUM>) to be detected is located in the detection zone, determining whether a coverage ratio of the partial zone to the detection zone (<NUM>) is greater than a threshold; and
if the coverage ratio is greater than or equal to the threshold and the barcode pattern (<NUM>) to be detected located in the detection zone (<NUM>) matches the corresponding target barcode type, reading the barcode pattern (<NUM>) to be detected located in the detection zone (<NUM>) to acquire the read result.