Method for processing images captured with bar code reader having area image sensor
Claim Score by NHIP
Abstract
In the present invention, a bar code reader captures an initial image map corresponding to a scene, then subjects the initial image map to an interpolation step wherein values for constructed pixels positionally intermediate pixel values of the initial image map are interpolated as a function of the initial image map pixel values bordering the constructed pixels. After an interpolated image map is constructed, the interpolated image map is subjected to a binarization step wherein grey scale pixel values of the interpolated image map are converted into binary (1 or 0) pixel values by way of a thresholding process. In the thresholding process, grey scale pixel values are compared to a threshold in the grey scale range, then set to 1 if they are above the threshold and set to 0 if below the threshold. The pixel values of the resulting binarized interpolated image map are then analyzed to determine the identity of a message which may be encoded in any symbol which may be represented in the binarized interpolated image map.

Term
Term ended
Projected expiry passed 5 November 2018, 7.9 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
30 claims: 6 independent, 24 dependent
- 1A method of operating a bar code reader which captures frames of image data, said method comprising:(A) defining a region of interest area in an initially captured frame of image data, said initially captured frame of image data including an M×N array of pixel values, said region of interest including an m×n, m<M, n<N array of pixel values, said region of interest area positioned at a center of said initially captured frame;(B) searching for a decodable symbol representation within said region of interest;(C) maintaining an original dimension of said region of interest area if in said searching step (a) a decodable symbol representation is located in said region of interest and (i) said decodable symbol representation located at step (ii) is determined to be positioned entirely within said region of interest;and (D) automatically expanding a dimension of said region of interest area if at step (B) it is determined that an entire decodable symbol representation is not located within said region of interest area.
- 5A method for operating a bar code reader which captures a frame of image data, said method comprising the steps of:(A) programming said reader to operate in a low resolution binarization mode and in a high resolution binarization mode, wherein said reader, in said high resolution binarization mode interpolates constructed pixel values corresponding to constructed pixel locations intermediate original pixel locations;(B) utilizing said low resolution binarization mode when searching said frame of image data to determine if a decodable symbol is represented in said frame;and (C) driving said bar code reader into a high resolution binarization mode of operation if at step (b) a decodable symbol is located within said frame.
- 10A method for operating a bar code reader having an area image sensor said method including the steps of:(A) obtaining a sample or pixel array;(B) tracking local maxima of a row said array to generate row maximum tracking line data;(C) tracking local minima of said array to generate a row minimum tracking line data;and (D) utilizing said row maximum tracking line data and row minimum tracking line data to generate 2D maximum and minimum tracking lines which track, respectively, changes in said row maximum and row minimum tracking line data;(E) establishing a threshold tracking line between said 2D maximum and minimum tracking lines;(F) using said threshold tracking line to binarize pixel values in generating a bit map including binarized image data;and (G) searching for a symbol indicator in said bit map.
- 15A method for operating a bar code reader of the type having an area image sensor, said method comprising the steps of:(A) capturing a grey scale image map;(B) binarizing pixel values of said grey scale image map to develop a binarized bit map while saving said grey scale image map;(C) searching for a symbol indicator in said binarized image map;and (D) establishing a region of interest area about a location of located symbol indicator;(E) utilizing said grey scale image map, interpolating constructed pixel values from pixel values within said region of interest area to develop an interpolated image map;and (F) binarizing pixel values of said interpolated image map to generate a bit map corresponding to said region of interest area.
- 21A method for operating an area image sensor bar code reader which captures an image map, said method comprising the steps of:(A) configuring said reader so that when searching for a symbol indicator in said image map, said reader searches for a symbol indicator within an adjustable region of interest area of said image map which may be adjusted in response to a user input command to adjust at least one of a position, size, or shape of said region of interest area;and (B) manually inputting a user-input command to said reader to adjust at least one of a position, size or shape of said region of interest area.
- 27Broadest claimClaim Score 65, broad(NHIP)A method for operating a bar code reader which captures a grey scale image map, said method including the step of:(A) finding a feature of said grey scale image map;(B) defining a region of interest area about a detected feature detected in step (A);(C) interpolated constructed pixel values within said region of interest area to develop an interpolated image map;and (D) binarizing grey scale values of said interpolated image map to generate a bit map comprising binarized pixel values.
Independent claims6
70 paragraphs in 5 sections, as filed
P-0001[0001] This application is a continuation of application Ser. No. 09/615,505 filed Jul. 13, 2000 entitled “Image Data Binarization Methods Enabling Optical Reader to Read Fine Print Indicia,” which is a continuation of application Ser. No. 09/187,722 filed Nov. 5, 1998 entitled “Bar Code Reader Configured to read Fine Print Barcode Symbols”, now U.S. Pat. No. 6,264,105. Both the above patent application and the above patent are incorporated herein by reference.
FIELD OF THE INVENTION
P-0002[0002] This invention relates generally to optical readers in general and, in particular, to an optical reader configured to read fine print indicia.
BACKGROUND OF THE INVENTION
P-0003[0003] Bar code symbols are being employed in an ever-increasing number of applications, and the information requirements of such symbols are growing.
P-0004[0004] In recent years, there has been an increasing effort to encode large amounts of data into bar code symbols. New bar code symbol types, including 2D symbols such as stacked 1D and matrix symbols have become available which are specifically designed to increase the amount of data per area that can be encoded into a symbol.
P-0005[0005] In addition to utilizing new types of bar code symbols, users of bar code symbols have been printing such symbols in smaller sizes and in increasingly higher densities. The bar and space patterns of bar code symbols, whether 1D or 2D, are being printed and applied to items in increasingly finer prints.
P-0006[0006] The fine print of many bar code symbols in use today has resulted in an increase in the resolution requirements of optical reading devices which read such symbols. In the prior art, there has been suggested, in general, two approaches for addressing these increased resolution requirements.
P-0007[0007] The first approach suggested in the prior art for increasing reader resolution is to increase the pixel density of an image sensor used in an optical reader. This solution is highly effective performance-wise, but is also highly expensive. For purposes of illustrating the cost of increasing pixel density, a 1000 by 1000 pixel array sensor is currently approximately 8 times the cost of a 256 by 256 pixel array sensor. Incorporating a higher density pixel array into a reader also significantly increases data storage and data processing costs.
P-0008[0008] A second approach suggested by the prior art for increasing reader resolution is to adjust the reader optics so as to increase the magnification of captured scenes. This solution comes with the price of decreasing the area of the reader's field of view, however.
P-0009[0009] There is a need for a low cost high performance optical reader which is capable of reading fine print bar code symbols which are finding increased use.
SUMMARY OF THE INVENTION
P-0010[0010] According to its major aspects and broadly stated, the present invention is a method for decoding fine print bar code symbols. The method includes certain image data binarization steps which facilitate the reading of finer print symbols without requiring that the resolution of the reader be enhanced by altering hardware aspects of the reader.
P-0011[0011] In the present invention, a bar code reader captures an initial image map corresponding to a scene, then subjects the initial image map to an interpolation step wherein values for constructed pixels (pixels positionally intermediate pixels of the initial image map) are interpolated as a function of the initial image map pixel values bordering the constructed pixels.
P-0012[0012] After an interpolated image map is constructed, the interpolated image map is subjected to a binarization step wherein grey scale pixel values of the interpolated image map are converted into binary (1 or 0) pixel values by way of a thresholding process. In the thresholding process, grey scale pixel values are compared to a threshold (which may vary across the image) in the grey scale range, then set to 1 if they are above the threshold and set to 0 if below the threshold. Interpolating constructed pixel values before binarizing the interpolated image map decreases the amount of image information that would otherwise be lost by binarizing an initially captured image map image directly as in a prior art decoding method.
P-0013[0013] The pixels of an image map that are subjected to a high resolution binarization process in which constructed pixel values are interpolated from existing pixel values may be defined according to a “tile binarization” process. In a tile binarization process pixels of an image map are divided into a plurality of tiles, each comprising a predetermined number of pixels. Pixels of a given tile are subjected to binarization only when a pixel of the tile or a pixel in proximity with the tile is needed for analysis. In one embodiment of the invention, a reader binarizes tile pixels according to a low resolution binarization process when searching for decodable indicia in image data and binarizes tile pixels according to a high resolution binarization process when decoding decodable indicia which has been located.
P-0014[0014] These and other details, advantages and benefits of the present invention will become apparent from the detailed description of the preferred embodiment hereinbelow.
BRIEF DESCRIPTION OF THE DRAWINGS
P-0015[0015] For a fuller understanding of the nature and objects of the invention, references should be made to the following detailed description of a preferred mode of practicing the invention, read in connection with the accompanying drawings, in which:
P-0016[0016]FIG. 1 is a flow diagram illustrating operation of a reader configured in accordance with the invention;
P-0017[0017]FIG. 2<i>a </i>is a block diagram of a bar code reader in which the invention may be incorporated;
P-0018[0018]FIGS. 2<i>b</i>-<b>2</b><i>h </i>illustrate various readers in which the invention may be incorporated.
P-0019[0019]FIG. 3 is a representation of an initial grey scale image map;
P-0020[0020]FIG. 4 is a representation of an interpolated image map interpolated from the image map shown in FIG. 2<i>a; </i>
P-0021[0021]FIG. 5 is a representation of a binarized image map binarized from the initial image map shown in FIG. 2<i>a; </i>
P-0022[0022]FIG. 6 is a representation of a binarized image map binarized from the interpolated image map shown in FIG. 3.
P-0023[0023]FIG. 7 is a representation of an initial image map including a region of interest which is selectively subjected to an interpolation step in accordance with the invention;
P-0024[0024]FIG. 8 shows an exemplary menu sheet which may be used to alter the position, shape, or size of a region of interest.
P-0025[0025]FIGS. 9<i>a </i>and <b>9</b><i>b </i>show image maps illustrating a “tile binarization” process which may be carried out according to the invention;
P-0026[0026]FIGS. 10<i>a </i>and <b>10</b><i>b </i>are diagrams illustrating a possible method for determining threshold values.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
P-0027[0027] A flow diagram illustrating operation of a reader configured in accordance with the invention is shown in FIG. 1 while a block diagram of an optical reader of the type in which the present invention may be incorporated is shown in FIG. 2<i>a. </i>
P-0028[0028] Optical reader <b>10</b> includes an illumination assembly <b>20</b> for illuminating a target object T, such as a 1D or 2D bar code symbol, and an imaging assembly <b>30</b> for receiving an image of object T and generating an electrical output signal indicative of the data optically encoded therein. Illumination assembly <b>20</b> may, for example, include an illumination source assembly <b>22</b>, such as one or more LEDs, together with an illuminating optics assembly <b>24</b>, such as one or more reflectors, for directing light from light source <b>22</b> in the direction of a target object T. Illumination assembly <b>20</b> may include target illumination and optics for projecting an aiming pattern <b>27</b> on target T. Illumination assembly <b>20</b> may be eliminated if ambient light levels are certain to be high enough to allow high quality images of object T to be taken. Imaging assembly <b>30</b> may include an image sensor <b>32</b>, such as a 1D or 2D CCD, CMOS, NMOS, PMOS, CID OR CMD solid state image sensor, together with an imaging optics assembly <b>34</b> for receiving and focusing an image of object T onto image sensor <b>32</b>. The array-based imaging assembly shown in FIG. 2<i>a </i>may be replaced by a laser array based imaging assembly comprising multiple laser sources, a scanning mechanism, emit and receive optics, at least one photodetector and accompanying signal processing circuitry.
P-0029[0029] Optical reader <b>10</b> of FIG. 2<i>a </i>also includes programmable control circuit <b>40</b> which preferably comprises an integrated circuit microprocessor <b>42</b> and an application specific integrated circuit (ASIC <b>44</b>). The function of ASIC <b>44</b> could also be provided by field programable gate array (FPGA). Processor <b>42</b> and ASIC <b>44</b> are both programmable control devices which are able to receive, output and process data in accordance with a stored program stored in memory unit <b>45</b> which may comprise such memory elements as a read/write random access memory or RAM <b>46</b> and an erasable read only memory or EROM <b>47</b>. RAM <b>46</b> typically includes at least one volatile memory device but may include one or more long term non-volatile memory devices. Processor <b>42</b> and ASIC <b>44</b> are also both connected to a common bus <b>48</b> through which program data and working data, including address data, may be received and transmitted in either direction to any circuitry that is also connected thereto. Processor <b>42</b> and ASIC <b>44</b> differ from one another, however, in how they are made and how they are used.
P-0030[0030] More particularly, processor <b>42</b> is preferably a general purpose, off-the-shelf VLSI integrated circuit microprocessor which has overall control of the circuitry of FIG. 2<i>a, </i>but which devotes most of its time to decoding image data stored in RAM <b>46</b> in accordance with program data stored in EROM <b>47</b>. Processor <b>44</b>, on the other hand, is preferably a special purpose VLSI integrated circuit, such as a programmable logic or gate array, which is programmed to devote its time to functions other than decoding image data, and thereby relieve processor <b>42</b> from the burden of performing these functions.
P-0031[0031] The actual division of labor between processors <b>42</b> and <b>44</b> will naturally depend on the type of off-the-shelf microprocessors that are available, the type of image sensor which is used, the rate at which image data is output by imaging assembly <b>30</b>, etc. There is nothing in principle, however, that requires that any particular division of labor be made between processors <b>42</b> and <b>44</b>, or even that such a division be made at all. This is because special purpose processor <b>44</b> may be eliminated entirely if general purpose processor <b>42</b> is fast enough and powerful enough to perform all of the functions contemplated by the present invention. It will, therefore, be understood that neither the number of processors used, nor the division of labor therebetween, is of any fundamental significance for purposes of the present invention.
P-0032[0032] With processor architectures of the type shown in FIG. 2<i>a, </i>a typical division of labor between processors <b>42</b> and <b>44</b> will be as follows. Processor <b>42</b> is preferably devoted primarily to such tasks as decoding image data, once such data has been stored in RAM <b>46</b>, recognizing characters represented in stored image data according to an optical character recognition (OCR) scheme, handling menuing options and reprogramming functions, processing commands and data received from control/data input unit <b>39</b> which may comprise such elements as trigger <b>74</b> and keyboard <b>78</b> and providing overall system level coordination.
P-0033[0033] Processor <b>44</b> is preferably devoted primarily to controlling the image acquisition process, the A/D conversion process and the storage of image data, including the ability to access memories <b>46</b> and <b>47</b> via a DMA channel. Processor <b>44</b> may also perform many timing and communication operations. Processor <b>44</b> may, for example, control the illumination of LEDs <b>22</b>, the timing of image sensor <b>32</b> and an analog-to-digital (A/D) converter <b>36</b>, the transmission and reception of data to and from a processor external to reader <b>10</b>, through an RS-232, a network such as an ethernet, a serial bus such as USB, a wireless communication link (or other) compatible I/O interface <b>37</b>. Processor <b>44</b> may also control the outputting of user perceptible data via an output device <b>38</b>, such as a beeper, a good read LED and/or a display monitor which may be provided by a liquid crystal display such as display <b>82</b>. Control of output, display and I/O functions may also be shared between processors <b>42</b> and <b>44</b>, as suggested by bus driver I/O and output/display devices <b>37</b>′ and <b>38</b>′ or may be duplicated, as suggested by microprocessor serial I/O ports <b>42</b>A and <b>42</b>B and I/O and display devices <b>37</b>″ and <b>38</b>′. As explained earlier, the specifics of this division of labor is of no significance to the present invention.
P-0034[0034]FIGS. 2<i>b </i>through <b>2</b><i>g </i>show examples of types of housings in which the present invention may be incorporated. FIGS. 2<i>b</i>-<b>2</b><i>g </i>show 1D/2D optical readers <b>10</b>-<b>1</b>, <b>10</b>-<b>2</b>, <b>10</b>-<b>3</b>. Housing <b>12</b> of each of the optical readers <b>10</b>-<b>1</b> through <b>10</b>-<b>3</b> is adapted to be graspable by a human hand and has incorporated therein at least one trigger switch <b>74</b> for activating image capture and decoding and/or image capture and character recognition operations. Readers <b>10</b>-<b>1</b> and <b>10</b>-<b>2</b> include hard-wired communication links <b>79</b> for communication with external devices such as other data collection devices or a host processor, while reader <b>10</b>-<b>3</b> includes an antenna <b>80</b> for providing wireless communication device or a host processor.
P-0035[0035] In addition to the above elements, readers <b>10</b>-<b>2</b> and <b>10</b>-<b>3</b> each include a display <b>82</b> for displaying information to a user and a keyboard <b>78</b> for enabling a user to input commands and data into the reader.
P-0036[0036] Any one of the readers described with reference to FIGS. 2<i>b </i>through <b>2</b><i>g </i>may be mounted in a stationary position as is illustrated in FIG. 2<i>h </i>showing a generic optical reader <b>10</b> docked in a scan stand <b>90</b>. Scan stand <b>90</b> adapts portable optical reader <b>10</b> for presentation mode scanning. In a presentation mode, reader <b>10</b> is held in a stationary position and an indicia bearing article is moved across the field of view of reader <b>10</b>.
P-0037[0037] As will become clear from the ensuing description, the invention need not be incorporated in a portable optical reader. The invention may also be incorporated, for example, in association with a control circuit for controlling a non-portable fixed mount imaging assembly that captures image data representing image information formed on articles transported by an assembly line, or manually transported across a checkout counter at a retail point of sale location.
P-0038[0038] Referring now to particular aspects of the invention, an exemplary embodiment of the invention is described with reference to the flow diagram of FIG. 1 and the pixel map diagrams shown in FIGS. <b>3</b>-<b>6</b>.
P-0039[0039] In accordance with the invention, reader <b>10</b> at block <b>60</b> captures an initial grey scale bit map that is represented by the pixel map of FIG. 3. The term “capture” as used herein shall refer generally to a process involving processing analog signals from imaging assembly <b>30</b>, converting these signals into digital form, presenting them to control circuit <b>40</b> and generating therefrom an initial image map representation or other memory-stored representation of the captured image.
P-0040[0040] The grey scale image map includes one word of data per pixel, each word normally having between 4 and 8 bits. Preferably each word contains 8 bits, and represents a grey scale pixel value of between 0 and 255, 0 representing absolute black and 255 representing absolute white. The dimension of the initial grey scale bit map corresponds to the pixel dimension of pixel array. Common dimensions for a pixel array are 494 by 659 pixels or 574 by 768 pixels, for example. A simplified 4×4 pixel map is shown in FIG. 3 for purposes of describing the invention.
P-0041[0041] In a prior art decoding scheme, the initial image map represented in FIG. 3 is subjected to a binarization process immediately after being captured. The image map is binarized by way of a thresholding process wherein each pixel value is compared to a threshold within the grey scale range. Each pixel value above the threshold is set to 1, while each pixel value below the threshold value is set to zero. A binarized representation of the image map of FIG. 3 binarized using a constant threshold of t=120 is shown in FIG. 5.
P-0042[0042] In the prior art decoding method, the next step in the decoding process is to analyze the binarized image map as represented by FIG. 5 to determine the information encoded by any bar code which may be contained in the pixel data. In a typical decoding algorithm, the analysis of the pixel data to determine the information encoded by any bar code includes the steps of (1) determining if an indicator (such as a bulls eye) is present indicating that a representative of a certain symbol contained a bar code certain symbology is contained in the image data, (2) reading captured pixel data according to a protocol that depends on a location of the indicator to determine the message encoded by a symbol. In the present invention, as illustrated by block <b>63</b> of the flow diagram of FIG. 1 control circuit <b>40</b> executes an intermediate interpolation step before binarizing grey scale pixel values. In an interpolation step, control circuit <b>40</b> interpolates pixel values for “constructed” pixels positionally intermediate of pixels in the initial image map.
P-0043[0043] An exemplary interpolated image map is shown in FIG. 4. The interpolated image map shown in FIG. 4 is developed from the initial image map shown in FIG. 3 by interpolating values for constructed pixels between the pixels of the initial image map. The value of each constructed pixel may be a function of the values of its bordering pixels. For example, p<sub>1-2 </sub>may be a function of p<sub>1 </sub>and p<sub>2</sub>, and p<sub>2-3 </sub>may be a function of p<sub>2 </sub>and p<sub>3 </sub>and so on. Center constructed pixel p<sub>1-2-5-6 </sub>may be a function of pixels p<sub>1</sub>, p<sub>2</sub>, p<sub>5 </sub>and p<sub>6</sub>. In a typical embodiment, each constructed pixel is interpolated by averaging its neighboring pixels. It is seen that in the construction of the interpolated image map of FIG. 4 three constructed pixel values are interpolated for each one pixel of the original image map.
P-0044[0044] After constructing the interpolated image map at block <b>62</b>, control circuit <b>40</b> at block <b>64</b> binarizes the interpolated image map. This binarization step may be carried out in the same manner that an initial image map is binarized as described previously in connection with FIGS. 2 and 4, that is, by a thresholding process wherein each pixel value in the image map is compared to a threshold and then set to 1 if above the threshold and to 0 if below the threshold. Interpolating the initial grey scale image map to create an interpolated image map before binarizing the image map reduces the amount of image information lost by binarizing grey scale image data.
P-0045[0045] Threshold values for use in binarizing grey scale image data may be developed utilizing a variety of different methodologies. Threshold values may be predetermined based on known illumination or exposure conditions. Threshold values may also be based on grey scale values of a threshold-determining frame of image data, which is typically the frame of image data being processed when the reader is of a type adapted for use in variable illumination conditions.
P-0046[0046] In calculating threshold values based on present or recently captured image data, control circuit <b>40</b> may consider every pixel of an image map. However, for increased processing speed, control circuit <b>40</b> may be adapted to sample a limited number of threshold-determining pixel values (such as {fraction (1/256)} of pixels of the entire image map) at substantially evenly spaced apart pixel position for use in determining a similar number of threshold values for an image map. This set of grey scale values may be referred to as a sample array of threshold-determining values.
P-0047[0047] Preferably, the threshold value for use in binarizing a grey scale value at a given pixel position takes into consideration grey scale values of pixels of the threshold-determining frame in positional proximity to the given pixel position preferentially to grey scale values to pixel positions not in positional proximity with the given pixel.
P-0048[0048] Skilled artisans will recognize that numerous alternative methods are possible for ensuring that a threshold value at a given pixel position depends preferentially on pixel values of neighboring pixels. According to one method for developing threshold values that depend preferentially on the value of neighboring pixels, control circuit <b>40</b> may develop the threshold value at each pixel position of a threshold determining image map by calculating the average of the grey scale value at that pixel and of a predetermined arrangement of surrounding pixels. Likewise, control circuit <b>40</b> may develop a threshold value for a group of pixels corresponding to a given position in a sample array of threshold determining values by averaging the threshold determining value at the given position and threshold-determining values at positions surrounding the given position.
P-0049[0049] Another method for determining threshold values that depend preferentially on grey scale values of neighboring pixels is described with reference to FIGS. 10<i>a </i>and <b>10</b><i>b. </i>As illustrated in FIG. 10<i>a, </i>control circuit <b>40</b> may employ one of a variety of known mathematical algorithms to develop row maximum and minimum tracking lines <b>95</b> and <b>96</b> which track, respectively, local maxima and local minima grey scale values across a row of pixels, or a row of threshold-determining values in case threshold values for various pixel positions are being determined from a sample array of threshold determining values. As indicated in FIG. 10<i>a, </i>control circuit <b>40</b> may then analyze the row tracking line data to develop 2D maximum and minimum tracking lines <b>97</b> and <b>98</b> which track, respectively, changes in the row maximum tracking line data <b>95</b>′ and row minimum tracking line data <b>96</b>′ across each column of the pixel or sample array. Control circuit <b>40</b> may then develop for each column of a pixel or sample array a 2D threshold line <b>99</b> as the midpoint between the 2D maximum and minimum tracking lines <b>95</b> and <b>96</b> for use in determining threshold values at various pixel positions in the image map.
P-0050[0050] With reference again to FIG. 1, control circuit <b>40</b> at blocks <b>66</b> and <b>70</b> analyses the binarized interpolated image map generated at block <b>64</b> in order to determine the information represented in the binarized interpolated image map. As described previously in connection with FIG. 5, such analysis can include the steps of (1) determining if an indicator indicating the presence of a symbol of a certain symbology is present in the image data and (2) reading the pixel data according to a protocol that depends on the location of the indicator to determine the message encoded by a symbol.
P-0051[0051] Control circuit <b>40</b> can be programmed so that the control circuit <b>40</b> interpolates an entire initial image map prior to binarizing the bits of an interpolated image map. In an alternative embodiment of the invention, the control circuit <b>40</b> can be programmed to interpolate constructed pixel values for less than all pixel values of the image map. In one particular embodiment, control circuit <b>40</b> can be made to interpolate constructed pixel values only in predetermined areas of an image map.
P-0052[0052] A representation of an image map in which less than all pixels of an image map are interpolated is shown in FIG. 6. In this embodiment, constructed pixels are interpolated only from those pixels within a region of interest defined by boundary <b>80</b>. Adapting the reader <b>10</b> to interpolate pixel values from less than all of the pixels in an initial image map reduces the time required to decode a symbol contained in a scene or to otherwise process the captured image information.
P-0053[0053] The invention can be adapted so that the region of interest defined by boundary <b>80</b> can be altered in response to user generated commands. In various alternative embodiments, the region of interest can be made larger or smaller, the shape of the region of interest can be changed, and the position of the region of interest can be moved in response to user generated commands.
P-0054[0054] The user generated commands which result in the region of interest being altered can be initiated by manual control inputs which may be provided on the reader itself or by control inputs of a peripheral device in communication with the reader. For example, the user generated commands may be initiated through use of a keyboard of a personal computer in communication with reader.
P-0055[0055] User generated commands resulting in altering of the size, shape and/or position of the region of interest can also be generated by reading of menu symbols, typically contained on a menu sheet as shown in FIG. 8. Menu symbols are symbols which when read and recognized by reader <b>10</b> result in the reader being reprogrammed in a certain way. Region of interest menu symbols as illustrated in FIG. 8 can be provided to result in the region of interest changing in position, shape, or size.
P-0056[0056] Changing the position, shape or size of a region of interest may be beneficial to the operation of the reader in a variety of operational situations. For example, it may be beneficial to change the position of boundary <b>80</b> as the reading depth of the reader changes. In some readers which include an aimer, such as aimer <b>23</b>, an aimer projects an aiming pattern, such as pattern <b>27</b> centered at a point represented in pixels above a center pixel of a captured image when the reader is used to capture scenes at close range. When these readers are used to capture images at close range, it may be beneficial to adjust the position of boundary <b>80</b> upward in a pixel array so that the region of interest corresponds to an area of a scene highlighted by an aiming or spotter pattern.
P-0057[0057] In addition to making the size, shape, and/or position of a region of interest responsive to user generated commands, the size, shape and position of a region of interest can be made responsive to sensed features of a captured image.
P-0058[0058] For example, the size, the shape, and the position of a region of interest which is subjected to an interpolation step can be made responsive to features of a captured image which correspond to specific points of a bar code symbol. The decoding algorithm for decoding symbols of some symbologies begins with the step of locating a specific point of the symbol (typically a bulls eye) in captured image data. In one embodiment of the invention, the reader is configured so that the region of interest is a predetermined area of a pixel array about a pixel location corresponding to a bulls eye of a symbol.
P-0059[0059] Bar code readers typically search for and locate bulls eyes or other indicators of bar code symbols in binarized image data that has been binarized from an initial grey scale image map. Thus, readers that are configured to define a region of interest based on a location of a bullseye or another indicator of a symbol normally will be made to binarize an entire initial image map, determine the location of an indicator, define a region of interest based on the location of an indicator, and then interpolate constructed pixel values only within the region of interest.
P-0060[0060] Region of interest pixels that are subjected to interpolation of constructed pixels values may be defined in accordance with a “tile binarization” process that is described with reference to FIGS. 9<i>a </i>and <b>9</b><i>b. </i>In a tile binarization process, control circuit <b>40</b> divides the initial image map into a predetermined number of “tiles” as are indicated in FIGS. 9<i>a </i>and <b>9</b><i>b, </i>each comprising a predetermined number of pixels. The tiles may be of any size and shape, and do not have to be similarly sized or shaped. It is convenient, however, to define each tile to be of equal size. Each tile may comprise an N×N such as a 32×32 pixel block, for example. The image map shown in FIGS. 9<i>a </i>and <b>9</b><i>b </i>has been divided into an array of 20×15=300 tiles, each of substantially equal size.
P-0061[0061] According to a tile binarization process, control circuit <b>40</b> subjects all of the pixels of a given tile to a particular binarization process only when a first pixel of the tile is needed, or is expected to become needed for analysis by control circuit <b>40</b>.
P-0062[0062] With reference to FIGS. 9<i>a </i>and <b>9</b><i>b </i>it can be seen that a division of pixels of an image map into “tiles” may determine which pixels of an image map are to be processed by control circuit <b>40</b> as region of interest pixels subject to interpolation. According to a possible embodiment of the invention, control circuit <b>40</b> may capture an initial image map, subject the initial image map to a low resolution binarization process (wherein there is no interpolation of “constructed” pixel values) to develop a binarized bit map without deletion of the initial grey scale image map stored in memory <b>45</b>. Control circuit <b>40</b> may then search the binarized image data for decodable indicia, locate a representation of a decodable indicia and, using the stored grey scale image map, subject only those pixels of the image map that are within tiles in which the decodable indicia is contained to the specialized “high resolution” binarization process described herein wherein constructed pixel values are interpolated from existing pixel values.
P-0063[0063] With reference to FIGS. 9<i>a </i>and <b>9</b><i>b, </i>a decodable symbol representation <b>86</b> is shown as being represented by pixels contained within tiles T47-48, T65-68, T84-T89, T104-109, T124-T129, T145-T148 and T164-T166. When executing a decoding algorithm for decoding symbol representation <b>86</b>, control circuit <b>40</b> may be made to poll the position of each new pixel that is read during execution of the decoding algorithm to determine if the position corresponds to a tile that has not previously been subjected to high resolution binarization. If control circuit <b>40</b> determines that the position corresponds to a tile not previously subjected to high resolution binarization, control circuit <b>40</b> binarizes each pixel of the tile according to the high resolution binarization process described herein prior to proceeding with execution of the decoding algorithm. Control circuit <b>40</b> may also be made to binarize new tiles in accordance with a particular binarization process on the condition that control circuit <b>40</b> reads a pixel that neighbors a new tile (that is, on the condition the pixels of the tile are expected to become needed for analysis). For example, control circuit <b>40</b> may be made to subject all pixels of a new tile to a high resolution binarization process on the condition that control circuit <b>40</b> reads a pixel that borders the new tile in either side by side or diagonal relation.
P-0064[0064] In a variation of the invention, control circuit <b>40</b> may be configured to binarize image data of an image map on a tile-by-tile basis using a low resolution binarization process (without interpolating pixel values) when searching for decodable indicia and to binarize image data of an image map on a tile-by-tile basis using a high resolution binarization process (with interpolation of constructed pixel values) when performing decoding operations to decode a decodable indicia that has been located. It has been found that providing high resolution binarized image data normally improves the success rate and accuracy of decoding, but is normally not necessary to locate decodable indicia in image data.
P-0065[0065] Referring again to FIGS. 9<i>a </i>and <b>9</b><i>b, </i>control circuit <b>40</b>, according to one common method for searching for decodable indica, may launch scan lines <b>88</b> and <b>90</b> corresponding to predetermined pixel rows, then analyze the pixels of the rows to determine if an indicator of a symbol (such as a bullseye or other finder pattern) is represented within the launched scan line. In the example of FIGS. 9<i>a </i>and <b>9</b><i>b, </i>control circuit <b>40</b> may determine that an Aztec Code symbol is represented in the image data when analyzing pixels of scan line <b>90</b> within tile T108. When a symbol indicator is located, control circuit <b>40</b> may then launch a symbology specific decoding algorithm corresponding to the symbol indicator in order to attempt to decode the located symbol.
P-0066[0066] According to the invention, control circuit <b>40</b> in the example of <b>9</b><i>a </i>and <b>9</b><i>b </i>may be made to binarize pixels of tiles T41-T60 and tiles T101-T108 corresponding to scan lines <b>88</b> and <b>90</b> using a low resolution process when searching for decodable indicia such as symbol representation <b>86</b>, and to binarize tiles T47-48, T65-68, T84-T89, T104-109, T124-T129, T145-T148 and T164-T166 corresponding to symbol representation <b>86</b> using a high resolution binarization process when executing steps of symbology specific decoding algorithm. It is seen in that the majority of tiles of the image map of FIGS. 9<i>a </i>and <b>9</b><i>b </i>are not subjected to any binarization. By causing control circuit <b>40</b> to binarize tiles only when pixels of a tile are needed, or are expected to become needed for analysis the tile binarization process enhances processing speed.
P-0067[0067] It is seen further in the above example that pixels of certain tiles such as tiles T47-T48 and T104-T108 will be subjected to both low resolution and high resolution binarization. If control circuit <b>40</b> may construct both low resolution and high resolution binarized image maps corresponding to the same position of a grey scale image map, then control circuit <b>40</b> may store both of these binary representations into memory <b>45</b> in a manner such that certain cells of the memory store bits corresponding to both of the low and high resolution binary representations. It is seen with reference again to FIGS. 3 and 4 that every other pixel of every other row of a high resolution interpolated image map, as shown in FIG. 4 is identical to a pixel value of the low resolution image map from which it has been interpolated, as shown in FIG. 3. In an embodiment of the invention featuring improved memory conservation and processing speed, control circuit <b>40</b> stores low resolution binary image data into memory cell locations allocated to contain a high resolution binary image, and “fills in” the missing bits of the high resolution image (such as bits corresponding to pixels P1-2, P2-3, P3-4, P1-5 . . . as shown in FIG. 4) if and when the region of the image is subjected to high resolution binarization. In such an embodiment, control circuit <b>40</b> is made to skip over memory space locations allocated to contain “constructed value” bits when processing low resolution binary image data (such as when searching for decodable indicia).
P-0068[0068] A reader according to the invention can also be made to define a region of interest based on features of image data of an initial grey scale image map (without any prior binarization of an initial image and searching for and locating features of image data in a full or partial binarized image map). For example, a reader according to the invention can be made to define a region of interest within an initial image map by measuring “energy” (the strength and number of transitions in an area of the image map) or another feature of the initial image map image data. Readers configured as such will decode bar code symbol, in general, by capturing an initial grey scale image map, detecting a feature of the initial image map, defining a region of interest within the initial image map based on the detected feature, interpolating constructed pixel values within the region of interest to form an interpolated image map, binarizing pixel values from the interpolated image map, and analyzing the binarized interpolated image map to determine a message encoded by a symbol.
P-0069[0069] In another embodiment of the invention, the reader can be configured so that the region of interest defined by boundary <b>80</b> expands if certain features of pixel data in a captured pixel array are sensed. In the example of FIG. 6, an initial region of interest is defined by boundary <b>80</b>. If during the image data analysis process, it is determined that an entire symbol is contained within boundary <b>80</b>, then the region of interest is not expanded. In an embodiment of the invention including the expandable region of interest feature, however, then the reader expands the region of interest if while analyzing image data, the reader determines that an entire symbol is not contained within a region of interest.
P-0070[0070] While the present invention has been explained with reference to the structure disclosed herein, it is not confined to the details set forth and this invention is intended to cover any modifications and changes as may come within the scope of the following claims:
Contents5
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11323649B2 | Cited by | United States of America | Applicant |
| US9996741B2 | Cited by | United States of America | Applicant |
| US7600687B2 | Cited by | United States of America | Applicant |
| US8720783B2 | Cited by | United States of America | Applicant |
| US8295601B2 | Cited by | United States of America | Applicant |
| US9769354B2 | Cited by | United States of America | Applicant |
| US9785811B2 | Cited by | United States of America | Applicant |
| US9047519B2 | Cited by | United States of America | Search report |
| US11323650B2 | Cited by | United States of America | Applicant |
| US9760788B2 | Cited by | United States of America | Applicant |
| US2007278310A1 | Cited by | United States of America | Pre-grant |
| US8326069B2 | Cited by | United States of America | Search report |
| US10949634B2 | Cited by | United States of America | Applicant |
| US2011080500A1 | Cited by | United States of America | Pre-grant |
| US10242285B2 | Cited by | United States of America | Applicant |
| US2009324118A1 | Cited by | United States of America | Pre-grant |
| WO2007068901A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8630491B2 | Cited by | United States of America | Search report |
| US10803350B2 | Cited by | United States of America | Applicant |
| WO2017015404A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10657600B2 | Cited by | United States of America | Applicant |
| US2013256411A1 | Cited by | United States of America | Pre-grant |
| US11238251B2 | Cited by | United States of America | Applicant |
| US8002187B2 | Cited by | United States of America | Applicant |
| US12450457B2 | Cited by | United States of America | Applicant |
| US10735684B2 | Cited by | United States of America | Applicant |
| US10127441B2 | Cited by | United States of America | Applicant |
| US10002272B2 | Cited by | United States of America | Applicant |
| JP2013068980A | Cited by | Japan | Search report |
| US9946954B2 | Cited by | United States of America | Applicant |
| US2011038563A1 | Cited by | United States of America | Pre-grant |
| US7120143B1 | Cited by | United States of America | Search report |
| US10691907B2 | Cited by | United States of America | Applicant |
| US10958863B2 | Cited by | United States of America | Applicant |
| EP1836646A4 | Cited by | European Patent Office (EPO) | Search report |
| US9747504B2 | Cited by | United States of America | Applicant |
| US9779296B1 | Cited by | United States of America | Applicant |
| US10467465B2 | Cited by | United States of America | Applicant |
| US9477867B2 | Cited by | United States of America | Applicant |
| US9210294B2 | Cited by | United States of America | Applicant |
| US9754164B2 | Cited by | United States of America | Applicant |
| US2013153662A1 | Cited by | United States of America | Pre-grant |
| EP1836646A1 | Cited by | European Patent Office (EPO) | Search report |
| US2003016229A1 | Cited by | United States of America | Pre-grant |
| US8342408B2 | Cited by | United States of America | Applicant |
| US9767379B2 | Cited by | United States of America | Applicant |
| US10146795B2 | Cited by | United States of America | Applicant |
| US12185006B2 | Cited by | United States of America | Applicant |
| US12236312B2 | Cited by | United States of America | Applicant |
| US10664919B2 | Cited by | United States of America | Applicant |
| US7219841B2 | Cited by | United States of America | Applicant |
| US9819825B2 | Cited by | United States of America | Applicant |
| US10146803B2 | Cited by | United States of America | Applicant |
| WO2006078359A1 | Cited by | World Intellectual Property Organization (WIPO) | Applicant |
| US9767354B2 | Cited by | United States of America | Applicant |
| US12001914B2 | Cited by | United States of America | Applicant |
| US11317050B2 | Cited by | United States of America | Applicant |
| US10721429B2 | Cited by | United States of America | Applicant |
| US11062176B2 | Cited by | United States of America | Applicant |
| US12321815B2 | Cited by | United States of America | Applicant |
| US2009022429A1 | Cited by | United States of America | Pre-grant |
| US2010084471A1 | Cited by | United States of America | Pre-grant |
| US6575367B1 | Cites | United States of America | Pre-grant |
5 members in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 18772298 | United States of America | A | |
| 61550500 | United States of America | A |
Members5
| Document | Office | Kind | |
|---|---|---|---|
| US6264105B1 | United States of America | B1 | |
| US6575367B1 | United States of America | B1 | |
| US2003197063A1 | United States of America | A1 | |
| US6655595B1 | United States of America | B1 | |
| US6814290B2 | United States of America | B2 |
31 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Receipt into PubsR1021 | R1021 | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Receipt into PubsR1021 | R1021 | |
| Workflow - File Sent to ContractorSENT | SENT | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Mail Notification of Terminal Disclaimer - AcceptedMN574 | MN574 | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Notification of Terminal Disclaimer - AcceptedN574 | N574 | |
| IFW Amended case processing CompleteTSSA | TSSA | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Preliminary AmendmentA.PE | A.PE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
12 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Lapse for failure to pay maintenance feesLapsedLAPS | LAPS | |
| Maintenance fee reminder mailedREMI | REMI | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Application
- 43618203
Titles
- English
- Method for processing images captured with bar code reader having area image sensor
Patent term adjustment
- Applicant delay
- −64 days
- Net adjustment
- 0 days
Classification
- CPC, 5
- G06K7/14
- G06K7/1417
- G06K7/1469
- G06V10/25
- G06F18/28
- IPC, 2
- G06K7 14
- G06V10 25