DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 8-9, 12, 18-19, and 21 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Gao et al, US Pub. 2014/0034731.
Regarding claim 1, Gao et al disclose a calibration and self-test in automated data reading systems comprising: an optical assembly having a field of view (FOV) (Fig. 1, para [0048] to automatically identify the items 24; a the reader 14/15, which may be an optical code reader, is operable to obtain image data representing optical codes, such as the optical codes 30, imaged within the fields of view 90, a method for receiving, from the optical imaging assembly, a series of images including at least a first image and a second image captured over the FOV (Fig. 7-8, para [0060] "For example, FIGS. 7 and 8 are, respectively, isometric and side elevation views of the imaging system 44, which is collectively formed from four overhead imaging systems 44a, 44b, 44c, and 44d. Each imaging system 44a-d has a field of view that is split into a high field of view and a low field of view."); decoding a barcode in the first image (para [0059] " the system 12 and its associated subsystems may include decoders (e.g., software algorithms, hardware constructs) to decode various types of optical codes, such as one-dimensional (linear) codes ... stacked linear codes ... and two-dimensional codes (e.g. ... high-capacity color barcode ... ).");
identifying a first position of a key-point within the first image (Fig. 12-13, para [0077] "FIGS. 12 and 13 show overhead imaging systems 44 and 46, and nominal locations for high and low fields of view, with each field of view encompassing a region of the top surface of FIG. 4 that includes three optical codes."); identifying a second position of the key-point within the second image (Fig. 12-13, para [0077] "FIGS. 12 and 13 show overhead imaging systems 44 and 46, and nominal locations for high and low fields of view, with each field of view encompassing a region of the top surface of FIG. 4 that includes three optical codes."); calculating an optical flow for the barcode based on at least the first position and the second position (Fig. 11, para [0065] "three optical codes provide centroids positioned at three different locations and therefore establish an overdetermined solution for conventional geometric camera calibration transformation equations. The equations yield solutions for position (also referred to as translation about X, Y, and Z axes) and orientation (also referred to as rotation about the yaw, pitch, roll, or Euler angles) of a projection center."); and tracking the barcode based on the optical flow (Fig. 2, para [0049] "Because the location and dimensions of the item 140 are also detected (e.g., by the detectors 130), the three-dimensional model of the item 140 may be constructed and tracked (in terms of system coordinates) while the item 140 is transported through the read zone 26.").
Regarding claim 8, Gao et al further comprising: decoding a portion of an additional image of the series of images, wherein the additional image is taken after the first image and wherein the portion does not include the predicted location (Fig. 4A-B, para [0055] "Lateral tab missing indicators 244 and 246 are printed on the template 21 O to indicate a tab 250 (FIG. 3) should be slipped over the template 210 in order to conceal the indicators 244 and 246. In other words, if the "TAB MISSING" text is uncovered and viewable by a user, the user knows that the tab 250 is misplaced or not located in the designated position for properly aligning the template 210 with the system 12").
Regarding claim 9, Gao et al the method, wherein the calculating and the tracking are performed in real time (para [0049] "the three-dimensional model of the item model of the item 40 may be constructed and tracked (in terms of coordinates) while the item 140 is transported through the read zone 26”).
Regarding claim 12, Gao et al disclose a method for barcode tracking and scanning using an imaging system including an optical assembly having a field of view (FOV) (Fig. 1, para [0048] "To automatically identify the items 24, the reader 14/15, which may be an optical code reader, is operable to obtain image data representing optical codes, such as the optical codes 30, imaged within the fields of view 90."), the method for receiving, from the optical imaging assembly, a series of images including at least a first image and a second image captured over the FOV (Fig. 7-8, para [0060] "For example, FIGS. 7 and 8 are, respectively, isometric and side elevation views of the imaging system 44, which is collectively formed from four overhead imaging systems 44a, 44b, 44c, and 44d. Each imaging system 44a-d has a field of view that is split into a high field of view and a low field of view."); decoding a barcode in the first image (para [0059] "The system 12 and its associated subsystems may include decoders (e.g., software algorithms, hardware constructs) to decode various types of optical codes, such as one-dimensional (linear) codes ... stacked linear codes ... and two-dimensional codes (e.g. ... high-capacity color barcode ... )."); identifying a position of a key-point within the first image (Fig. 12-13, para [0077] "FIGS. 12 and 13 show overhead imaging systems 44 and 46, and nominal locations for high and low fields of view, with each field of view encompassing a region of the top surface of FIG. 4 that includes three optical codes."); receiving optical flow data for the key-point (Fig. 11, para [0065] "three optical codes provide centroids positioned at three different locations and therefore establish an overdetermined solution for conventional geometric camera calibration transformation equations. The equations yield solutions for position (also referred to as translation about X, Y, and Z axes) and orientation (also referred to as rotation about the yaw, pitch, roll, or Euler angles) of a projection center."); and tracking the barcode based on the optical flow data (Fig. 2, para [0049] "Because the location and dimensions of the item 140 are also detected (e.g., by the detectors 130), the three-dimensional model of the item 140 may be constructed and tracked (in terms of system coordinates) while the item 140 is transported through the read zone 26.").
Regarding claim 18, Gao et al further comprising: decoding a portion of an additional image of the series of images, wherein the additional image is taken after the first image and wherein the portion does not include the predicted location (Fig. 4A-B, para [0055] "Lateral tab missing indicators 244 and 246 are printed on the template 210 to indicate a tab 250 {FIG. 3) should be slipped over the template 210 in order to conceal the indicators 244 and 246. In other words, if the "TAB MISSING" text is uncovered and viewable by a user, the user knows that the tab 250 is misplaced or not located in the designated position for properly aligning the template 21 O with the system 12"}.
Regarding claim 19, Datalogic discloses the method of claim 12, wherein the receiving and the tracking are performed in real time (para [0049] "the three-dimensional model of the item 140 may be constructed and tracked (in terms of system coordinates) while the item 140 is transported through the read zone 26.").
Regarding claim 21, Gao et al disclose a method for object tracking using an imaging system including an optical assembly having a field of view (FOV) (Fig. 1, para [0048] "To automatically identify the items 24, the reader 14/15, which may be an optical code reader, is operable to obtain image data representing optical codes, such as the optical codes 30, imaged within the fields of view 90."), the method for receiving, from the optical imaging assembly, a series of images including at least a first image and a second image captured over the FOV (Fig. 7-8, para [0060] "For example, FIGS. 7 and 8 are, respectively, isometric and side elevation views of the imaging system 44, which is collectively formed from four overhead imaging systems 44a, 44b, 44c, and 44d. Each imaging system 44a-d has a field of view that is split into a high field of view and a low. field of view."); identifying a first region of interest (ROI) within the first image and a second ROI within the second image (Fig. 7-8, para [0060] "For example, FIGS. 7 and 8 are, respectively, isometric and side elevation views of the imaging system 44, which is collectively formed from four overhead imaging systems 44a, 44b,.44c, and 44d. Each imaging system 44a-d has a field of view that is split into a high field of view and a low field of view."), wherein the first ROI and the second ROI are based on an object common to the first image and the second image (Fig. 19, para [0081] "the redacted portion 708 removes portions of modules from the optical code 710 on either side of the refraction stripe 722 to create one, centrally located decodable region 768. The redacted portion 708 does not allow decoding of a region 770, which would otherwise produce two centroids per optical code.");
determining a first position of the first ROI within the first image and a second position of the second ROI within the second image (Fig. 12- 13, para [0077] "FIGS. 12 and 13 show overhead imaging systems 44 and 46, and nominal locations for high and low fields of view, with each field of view encompassing a region of the top surface of FIG. 4 that includes three optical codes."); identifying an optical flow for the object based on at least the first position and the second position (Fig. 11, para [0065] "three optical codes provide centroids positioned at three different locations and therefore establish an overdetermined solution for conventional geometric camera calibration transformation equations. The equations yield solutions for position (also referred to as translation about X, Y, and Z axes) and orientation (also referred to as rotation about the yaw, pitch, roll, or Euler angles) of a projection center."), wherein the optical flow is representative of a change in position between the first position and the second position (Fig. 4, para [0053] "The optical codes 212 of the surface 230 are 2-D Data Matrix codes generally arranged in a first column 232, a second column 234, and a third column 236. The columns 232, 234, and 236 each extend laterally across the conveyor surface 156, in a direction that is parallel with the X -axis 164 (FIG. 2) when the template 210 is placed on the conveyor surface 156. In each of the columns 232, 234, and 236, the optical codes 212 are mutually spaced-apart with respect to the X-axis 164, and adjacent optical codes within a column have locations that vary with respect to the Y-axis 160 (FIG. 2)."); and tracking the object based on the optical flow (Fig. 2, para [0049] "Because the location and dimensions of the item 140 are also detected (e.g., by the detectors 130), the three-dimensional model of the item 140 may be constructed and tracked (in terms of system coordinates) while the item 140 is transported through the read zone 26.").
Regarding claim 22, Datalogic discloses the method of claim 21, wherein the identifying an optical flow further includes: calculating a distance between the first position and the second position (para [0099] "In some other embodiments, the cost function comprises a sum of squared distances between the known and observed locations; and refining 925 includes repeating 940 the steps of adjusting 930 and determining 935 until the sum of squared distances is minimized."); determining a direction of movement for the object based on the first position and the second position (Fig. 4, para [0053] "The optical codes 212 of the surface 230 are 2-0 Data Matrix codes generally arranged in a first column 232, a second column 234, and a third column 236. The columns 232, 234, and 236 each extend laterally across the conveyor surface 156, in a direction that is parallel with the X -axis 164 (FIG. 2) when the template 21 O is placed on the conveyor surface 156. In each of the columns 232, 234, and 236, the optical codes 212 are mutually spaced-apart with respect to the X-axis 164, and adjacent optical codes within a column have locations that vary with respect to the Y-axis 160 (FIG. 2)."); and determining a movement vector for the object based on the distance and the direction of movement (para [0069) "where {right arrow over (v)} is a line direction vector ... ").
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 2-7 and 13-17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al in view of Dahabri, US Pub. 2012/0048937. The teachings of Gao et al have been discussed above.
Regarding claim 2, Gao et al disclose wherein the first position is defined by a first x coordinate and a first y coordinate within the first image ("Fig. 4, para [0053] "The optical codes 212 of the surface 230 are 2-D Data Matrix codes generally arranged in a first column 232, a second column 234, and a third column 236. The columns 232, 234, and 236 each extend laterally across the conveyor surface 156, in a direction that is parallel with the X-axis 164 (FIG. 2) when the template 210 is placed on the conveyor surface 156. In each of the columns 232, 234, and 236, the optical codes 212 are mutually spaced-apart with respect to the X-axis 164, and adjacent optical codes within a column have locations that vary with respect to the Y-axis 160") and the second position is defined by a second x coordinate and a second y coordinate within the second image ("Fig. 4, para [0053] "The optical codes 212 of the surface 230 are 2-D Data Matrix codes generally arranged in a first column 232, a second column 234, and a third column 236. The columns 232, 234, and 236 each extend laterally across the conveyor surface 156, in a direction that is parallel with the X-axis 164 (FIG. 2) when the template 210 is placed on the conveyor surface 156. In each of the columns 232, 234, and 236, the optical codes 212 are mutually spaced-apart with respect to the X-axis 164, and adjacent optical codes within a column have locations that vary with respect to the Y-axis 160").
Gao et al fail to explicitly state wherein calculating the optical flow includes: calculating a first distance between the first x coordinate and the second x coordinate, calculating a second distance between the first y coordinate and the second y coordinate, determining a direction of movement based on the first distance and the second distance or determining a movement vector for the optical flow based at least on the first distance, the second distance, and the direction of movement.
Dahari discloses a multiple barcode detection system and method, wherein calculating the optical flow includes: calculating a first distance between the first x coordinate and the second x coordinate (para [0090] "According to certain embodiments, the answer to the question whether two identical barcodes are near or not, is determined, inter alia, based on a comparison of the calculated distance between the world coordinates of two identical barcodes from different images, and a predefined maximal distance."); calculating a second distance between the first y coordinate and the second y coordinate (para [0090] "According to certain embodiments, the answer to the question whether two identical barcodes are near or not, is determined, inter alia, based on a comparison of the calculated distance between the world coordinates of two identical barcodes from different images, and a predefined maximal distance."); determining a direction of movement based on the first distance and the second distance (para [0091] "the maximal distance between two consecutive images which are captured by an image sensor can be estimated by multiplying the hand speed by the average interval between images."); and determining a movement vector for the optical flow based at least on the first distance, the second distance, and the direction of movement (para [0090] "The maximal distance is determined by a statistical estimation based on a plurality of parameters which are combined together, where, in different embodiments, different combinations of parameters may be used. An example of such parameters is the number of images per second captured by the imager and the maximal movement speed of the imager (e.g. speed of hand movement) which allows the imager to maintain its operability.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al to calculate a distances between captured coordinates, and to determine the movement vector for the optical flow based on the coordinate distances and direction of movement, such that the system can determine that the captured images are different barcodes based on the calculated distances and movement speeds between the two barcodes, as suggested by Dahari (para [0090]).
Regarding claim 3, Gao et al fail to explicitly state wherein the tracking includes: predicting, using at least the optical flow and the key-point, a location of the barcode in an additional image of the series of images, wherein the additional image is taken after the first image.
Dahari discloses wherein the tracking includes: predicting, using at least the optical flow and the key-point, a location of the barcode in an additional image of the series of images, wherein the additional image is taken after the first image (Fig. 2, para [0074] "once the reader is placed before one or more barcodes and activated the imaging device scans the area within the field of view of the barcode and the capturing module 204 receives the scanned data from the imaging device and generates one or more images of the scanned area. According to certain embodiments, during each scanning operation system 300 is configured to continuously scan the area residing within the field of view of the imager while the capturing module 204 is configured for continuously generating images of the scanned area at a predetermined rate in accordance with the technical characteristics of the imaging device 112."}.
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al to predict the location of a barcode using optical flow and the key-point such that the system can continuously scan the area where the barcode is the generate images, as suggested by Dahari (para (0074]).
Regarding claim 4, Dahari further discloses decoding the barcode in the additional image (para [0068] "Each image of the scanned area is transferred to a barcode detection module 206 which is configured for identifying all the barcodes in the image and for decoding the information encoded in the barcodes into one or more strings of characters representing the encoded information."); determining an additional position of the decoded barcode (para [0071 "In general batch generation module 320 is configured for receiving decoded barcodes from barcode detection system 206, removing repeating instances of the same barcodes, in different images generated during the same scanning operation, in order to avoid recording the same barcode more than once and sending the decoded barcodes to the computer terminal 120.");
comparing the predicted location of the barcode and the additional position of the decoded barcode in the additional image (para (0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor. According to some embodiments, neighboring barcodes from the same image are analyzed together in order to provide stronger support for the above calculation and conclusion."); determining that the additional position of the barcode and the predicted location of the barcode overlap (Fig. 3, para [0070]" system 300 is configured for simultaneously detecting a batch of barcodes and enables to perform a continuous scanning motion during a single scanning operation. This type of continuous scanning motion may often result in the generation of a plurality of images where different images contain overlapping sections of the same scanned areas. Therefore, the barcode detection system of the present invention is required to verify that in each scanning operation only a single instance of each barcode is recorded and transferred to the computer terminal 120."); and updating the optical flow using the additional position (Fig. 6, para [0094] "If the answer in stage 612 is affirmative, it is followed by stage 620 in which the world coordinates of the current image and the world coordinates of the corresponding barcodes in the current image are updated based on the calculated difference between the coordinates of the identical barcodes in the current image and in the auxiliary database 340 (i.e. barcodes from previous images).").
Regarding claim 5, Dahari further discloses decoding a barcode in the additional image (para [0068] "Each image of the scanned area is transferred to a barcode detection module 206 which is configured for identifying all the barcodes in the image and for decoding the information encoded in the barcodes into one or more strings of characters representing the encoded information."); determining an additional position of the decoded barcode (para [0071 "In general batch generation module 320 is configured for receiving decoded barcodes from barcode detection system 206, removing repeating instances of the same barcodes, in different images generated during the same scanning operation, in order to avoid recording the same barcode more than once and sending the decoded barcodes to the computer terminal 120.");
comparing the predicted location of the barcode and the additional position of the decoded barcode in the additional image (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor. According to some embodiments, neighboring barcodes from the same image are analyzed together in order to provide stronger support for the above calculation and conclusion."); determining that the additional position of the barcode, and the predicted location of the decoded barcode do not overlap (Fig. 3, para [0070] " system 300 is configured for simultaneously detecting a batch of barcodes and enables to perform a continuous scanning motion during a single scanning operation. This type of continuous scanning motion may often result in the generation of a plurality of images where different images contain overlapping sections of the same scanned areas. Therefore, the barcode detection system of the present invention is required to verify that in each scanning operation only a single instance of each barcode is recorded and transferred to the computer terminal 120."); and in response to determining that the additional position of the barcode and the predicted location of the decoded barcode do not overlap, determining that the decoded barcode is different from the first barcode (para [0071] "batch generation module 320 comprises a check barcode module 308, a key padding module 310, a code to stream module 312 and a send stream module 314. In general batch generation module 320 is configured for receiving decoded barcodes from barcode detection system 206, removing repeating instances of the same barcodes, in different images generated during the same scanning operation, in order to avoid recording the same barcode more than once and sending the decoded barcodes to the computer terminal 120.").
Regarding claim 6, Gao et al fail to explicitly state wherein the key-point is a first key-point, the barcode is a first barcode, the optical flow is a first optical flow, and further comprising: determining that a second barcode is present in a third image of the series of images, decoding a second barcode, identifying a first position of a second key-point within the image, identifying a second position of the second key-point within a fourth image, calculating a second optical flow for the second barcode based on at least the first position of the second key-point and the second position of the second key-point or tracking the second barcode based on the optical flow.
Dahari discloses determining that a second barcode is present in a third image of the series of images (Fig. 2, para [0068] "once the reader is placed before one or more barcodes and activated the imaging device scans the area within the field of view of the barcode and the capturing module 204 receives the scanned data from the imaging device and generates one or more images of the scanned area."); decoding a second barcode (para [0068] "Each image of the scanned area is transferred to a barcode detection module 206 which is configured for identifying all the barcodes in the image and for decoding the information encoded in the barcodes into one or more strings of characters representing the encoded information."); identifying a first position of a second key-point within the image (Fig. 6, para [0085] "during a single scanning operation, each image which is generated by the capturing module 204 is transferred to the detection module 206 which detects and decodes the barcodes in the image and transfers the data in respect of the detected barcodes to the check barcode module 308. According to certain embodiments, this data includes, in addition to the encoded information in each barcode, the position of each barcode in its corresponding image (for example, the coordinates of the barcode relative to the image), and the coordinates of the image in respect to the entire scanned area (i.e. "the world"}."); identifying a second position of the second key-point within a fourth image (Fig. 6, para [0085] "during a single scanning operation, each image which is generated by the capturing module 204 is transferred to the detection module 206 which detects and decodes the barcodes in the image and transfers the data in respect of the detected barcodes to the check barcode module 308. According to certain embodiments, this data includes, in addition to the encoded information in each barcode, the position of each barcode in its corresponding image (for example, the coordinates of the barcode relative to the image), and the coordinates of the image in respect to the entire scanned area (i.e. "the world"}."); calculating a second optical flow for the second barcode based on at least the first position of the second key-point and the second position of the second key-point (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repealing barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor."); and tracking the second barcode based on the optical flow (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al to determine and decode a second barcode that is present in a series of images to identify key points within the image to calculate an optical flow for the second barcode based on the positions of the key points, such that the system can identify a plurality of barcodes within a given image and not repeat previously scanned barcodes, as suggested by Dahari (para [0092]).
Regarding claim 7, Dahari further discloses wherein tracking the second barcode and tracking the first barcode are performed simultaneously (Fig. BA-C, para [0104] "As can be seen from the comparison of FIGS. 8 a, Sb and Be a large barcode size allows utilizing a large FOV thereby enabling simultaneously scanning a large number of barcodes.").
Regarding claim 13, Gao et al fail to explicitly state wherein the tracking includes: predicting, using at least the optical flow data and the key-point, a location of the barcode in an additional image of the series of images, wherein the additional image is taken after the first image.
Dahari discloses wherein the tracking includes: predicting, using at least the optical flow data and the key-point, a location of the barcode in an additional image of the series of images, wherein the additional image is taken after the first image. (Fig. 2, para [007 4] "once the reader is placed before one or more barcodes and activated the imaging device scans the area within the field of view of the barcode and the capturing module 204 receives the scanned data from the imaging device and generates one or more images of the scanned area. According to certain embodiments, during each scanning operation system 300 is configured to continuously scan the area residing within the field of view of the imager while the capturing module 204 is configured for continuously generating images of the scanned area at a predetermined rate in accordance with the technical characteristics of the imaging device 112.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Datalogic to predict the location of a barcode using optical flow and the key-point such that the system can continuously scan the area where the barcode is the generate images, as suggested by Dahari (para [0074]}.
Regarding claim 14, Dahari further discloses decoding the barcode in the additional image (para [0068] "Each image of the scanned area is transferred to a barcode detection module 206 which is configured for identifying all the barcodes in the image and for decoding the information encoded in the barcodes into one or more strings of characters representing the encoded information."); determining an additional position of the decoded barcode (para [0071 "In general batch generation module 320 is configured for receiving decoded barcodes from barcode detection system 206, removing repeating instances of the same barcodes, in different images generated during the same scanning operation, in order to avoid recording the same barcode more than once and sending the decoded barcodes to the computer terminal 120.");
comparing the predicted location of the barcode and the additional position of the decoded barcode in the additional image (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor. According to some embodiments, neighboring barcodes from the same image are analyzed together in order to provide stronger support for the above calculation and conclusion."); determining that the additional position of the barcode and the predicted location of the barcode overlap (Fig. 3, para [0070] "system 300 is configured for simultaneously detecting a batch of barcodes and enables to perform a continuous scanning motion during a single scanning operation. This type of continuous scanning motion may often result in the generation of a plurality of images where different images contain overlapping sections of the same scanned areas. Therefore, the barcode detection system of the present invention is required to verify that in each scanning operation only a single instance of each barcode is recorded and transferred to the computer terminal 120."); and updating the optical flow data using the additional position (Fig. 6, para [0094] "If the answer in stage 612 is affirmative, it is followed by stage 620 in which the world coordinates of the current image and the world coordinates of the corresponding barcodes in the current image are updated based on the calculated difference between the coordinates of the identical barcodes in the current image and in the auxiliary database 340 (i.e. barcodes from previous images).").
Regarding claim 15, Dahari further discloses: decoding a barcode in the additional image (para [0068] "Each image of the scanned area is transferred to a barcode detection module 206 which is configured for identifying all the barcodes in the image and for decoding the information encoded in the barcodes into one or more strings of characters representing the encoded information."); determining an additional position of the decoded barcode (para [0071] "In general batch generation module 320 is configured for receiving decoded barcodes from barcode detection system 206, removing repeating instances of the same barcodes, in different images generated during the same scanning operation, in order to avoid recording the same barcode more than once and sending the decoded barcodes to the computer terminal 120.");
comparing the predicted location of the barcode and the additional position of the decoded barcode in the additional image (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor. According to some embodiments, neighboring barcodes from the same image are analyzed together in order to provide stronger support for the above calculation and conclusion."); determining that the additional position of the barcode and the predicted location of the decoded barcode do not overlap (Fig. 3, para [0070] " system 300 is configured for simultaneously detecting a batch of barcodes and enables to perform a continuous scanning motion during a single scanning operation. This type of continuous scanning motion may often result in the generation of a plurality of images where different images contain overlapping sections of the same scanned areas. Therefore, the barcode detection system of the present invention is required to verify that in each scanning operation only a single instance of each barcode is recorded and transferred to the computer terminal 120."); and in response to determining that the additional position of the barcode and the predicted location of the decoded barcode do not overlap, determining that the decoded barcode is different from the first barcode (para [0071] "batch generation module 320 comprises a check barcode module 308, a key padding module 310, a code to stream module 312 and a send stream module 314. In general batch generation module 320 is configured for receiving decoded barcodes from barcode detection system 206, removing repeating instances of the same barcodes, in different images generated during the same scanning operation, in order to avoid recording the same barcode more than once and sending the decoded barcodes to the computer terminal 120.").
Regarding claim 16, Gao et al fail to explicitly state wherein the position of the key-point is a first position of a first key-point, the barcode is a first barcode, the optical flow information is first optical flow data, and further comprising: determining that a second barcode is present in a third image .of the series of images, decoding a second barcode, identifying a second position of a second key-point within the image, receiving second optical flow data for the second key-point or tracking the second barcode based on the second optical flow data.
Dahari discloses determining that a second barcode is present in a third image of the series of images (Fig. 2, para [0068] "once the reader is placed before one or more barcodes and activated the imaging device scans the area within the field of view of the barcode and the capturing module 204 receives the scanned data from the imaging device and generates one or more images of the scanned area."); decoding a second barcode (para [0068] "Each image of the scanned area is transferred to a barcode detection module 206 which is configured for identifying all the barcodes in the image and for decoding the information encoded in the barcodes into one or more strings of characters representing the encoded information."); identifying a second position of a second key-point within the image (Fig. 6, para [0085] "during a single scanning operation, each image which is generated by the capturing module 204 is transferred to the detection module 206 which detects and decodes the barcodes In the image and transfers the data in respect of the detected barcodes to the check barcode module 308. According to certain embodiments, this data includes, in addition to the encoded information in each barcode, the position of each barcode in its corresponding image (for example, the coordinates of the barcode relative to the image), and the coordinates of the image in respect to the entire scanned area (i.e. "the world")."); receiving second optical flow data for the second key-point (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor."); and tracking the second barcode based on the second optical flow data (para [0092] "In order to obtain a more accurate estimation, other parameters are also taken into consideration, for example: the overall number or repeating barcodes in a scanning operation, the number of neighboring repeating barcodes, the average distance between barcodes, the size of the barcodes relative to the field of view of the image sensor.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al to determine and decode a second barcode that is present in a series of images to identify key points within the image to calculate an optical flow for the second barcode based on the positions of the key points, such that the system can identify a plurality of barcodes within a given image and not repeat previously scanned barcodes, as suggested by Dahari (para [0092]).
Regarding claim 17, Dahari further discloses wherein tracking the second barcode and tracking the first barcode are performed simultaneously (Fig. 8A-C, para [0104] "As can be seen from the comparison of FIGS. 8 a, 8b and 8c a large barcode size allows utilizing a large FOV thereby enabling simultaneously scanning a large number of barcodes.").
Claim(s) 10 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al in view of Feldman et al, US Patent No. 8,763,908.
Regarding claim 10, Gao et al fail to explicitly state wherein identifying the first position of the key point includes: generating a signature for the key-point, the signature including information on gradients surrounding the key-point.
Feldman discloses detecting objects in imaging using image gradients, wherein identifying a first position of a key-point includes: generating a signature for the key-point, the signature including information on gradients surrounding the key-point (Col 2 Ln 43-50 "The captured image can be processed by one or more processors or processing systems communicatively coupled to the electronic device to detect and locate predetermined objects in the image. For example, predetermined objects can include a barcode, a quick response (QR) code, and text. The one or more processors or processing systems can analyze the gradients of at least one region of the image to determine a dominant gradient direction of the region of the image.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al to generate a signature including information on gradients, such that the gradient region can be used to identify the candidate region, as suggested by Feldman (Col 2 In 50-53).
Regarding claim 20, Gao et al fail to explicitly state wherein identifying the position of the key point includes: generating a signature for the key-point, the signature including information on gradients surrounding the key-point.
Feldman discloses wherein identifying the first position of the key-point includes: generating a signature for the key-point, the signature including information on gradients surrounding the key-point (Col 2 Ln 43-50 "The captured image can be processed by one or more processors or processing systems communicatively coupled to the electronic device to detect and locate predetermined objects in the image. For example, predetermined objects can include a barcode, a quick response (QR) code, and text. The one or more processors or processing systems can analyze the gradients of at least one region of the image to determine a dominant gradient direction of the region of the image.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al to generate a signature including information on gradients, such that the gradient region can be used to identify the candidate region, as suggested by Feldman (Col 2 In 50-53).
Claim(s) 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gao et al in view of Feldman, and further in view of Dahari. Their teachings have been discussed above.
Gao et al as modified by Feldman et al fail to explicitly slate wherein identifying the second position of the key-point includes: determining that a key-point in the second image has a signature that matches the signature for the key-point.
Dahari discloses wherein identifying the second position of the key-point includes: determining that a key-point in the second image has a signature that matches the signature for the key-point (para [0100] "imager module 220 may be configured to identify additional data (e.g. signature or insignia) which exists within the images as well. Once a scanning operation is completed and the barcodes are detected and processed each barcode is associated with the corresponding additional data of that barcode.").
It would have been obvious to one of ordinary skill in the art to have modified the systems and methods of Gao et al as modified by Feldman et al to determine that a key point in the image matches a known signature for the key point, such that the system can identify signatures on top of barcodes to detect an object, as suggested by Dahari (para [0100]).
Response to Arguments
Applicant's arguments filed 8/19/25 have been fully considered but they are not persuasive. See examiner remarks.
Remarks:
In response to the applicant’s argument regarding claim 1, the examiner respectfully disagrees. The prior art teaches capturing multiple spaced-apart regions in one frame of image data. In operation optical codes for several spaced-apart item in a conveyor system, wherein vertices are selected at locations to produce margin around the optical code (see par. 0060-0062). This is an indication that key points or portions of the optical code are imaged within the several multiple-spaced apart region in the image frame. The system can analyze the optical flow by analyzing the multiple spaced-apart region of the optical code image. The applicant argues the general definition of key-points (recognizable features or point within an image) and optical flow (analyzing motion vector or changes in pixel positions over time), the prior art discloses imaging items to identify an optical code withing each item (i.e. recognizable features) and imaging multiple spaced-apart regions to produce a margin around each optical code using vertices at different locations (i.e. analyzing vector motion and pixels positions). The applicant’s argument is not persuasive. Refer to the rejection above.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DANIEL ST CYR whose telephone number is (571)272-2407. The examiner can normally be reached M to F 8:00-8:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Michael G Lee can be reached on 571-272-2398. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
DANIEL ST CYR
Primary Examiner
Art Unit 2876
/DANIEL ST CYR/ Primary Examiner, Art Unit 2876