Claims
- 1. A method for processing scanned code data to determine whether the scanned code data is part of a valid code, the scanned code data including a plurality of strings, the method comprising the steps of:
examining a first string of a first scanned code data; opening a cluster with the first string if the first string contains a start pattern; identifying at least one valid middle portion of the first string; storing a transition position count associated with the at least one valid middle portion; searching a second scanned code data for a second string matching at least part of the first string in the cluster; adding the second string to the end of the cluster; closing the cluster upon detection of a stop pattern; and decoding the cluster.
- 2. The method according to claim 1, wherein the searching step includes:
searching a predetermined number of strings for a match; and if no match is found after searching the predetermined number of strings, then discarding the cluster and returning to the examining step.
- 3. The method according to claim 1, wherein:
the storing step includes creating a range around the transition position count of the first string; and the searching step includes matching the transition position count of the second string with the transition position count range of the first string.
- 4. The method according to claim 3, wherein each string is a series of pulse width counts and the searching step includes:
shifting the second string to each possible location within the transition position count range of the first string; and comparing the pulse width count of the second string in each position with the pulse width count of the first string, whereby the strings match when the pulse width count of both strings match.
- 5. The method according to claim 4, wherein the adding step includes averaging the matching pulse width counts together to create a longer cluster.
- 6. The method according to claim 1, further comprising the step of:
confirming that the cluster contains a complete code.
- 7. The method according to claim 6, wherein the confirming step includes reopening the cluster if the cluster does not contain a complete code.
- 8. The method according to claim 1, wherein:
the start pattern is the beginning of a code data; and the stop pattern is the end of the code data.
- 9. The method according to claim 2, wherein:
the start pattern is the end of a code data; and the stop pattern is the beginning of the code data.
- 10. A method for processing scanned code data, comprising the steps of:
(a) reading scanned code data; (b) reading string qualifier data, including a label position value and a narrow width value; (c) determining whether the current scanned data is equivalent to earlier scanned data with the same label position value and narrow width value; (d) if the current scanned data is not equivalent to earlier scanned data, then returning to step (a); (e) if the current scanned data is equivalent to earlier scanned data, then shifting the current scanned data with respect to the earlier scanned data to determine whether a matching subinterval exists; (f) if no matching subinterval exists, then returning to step (a); (g) if a matching subinterval exists, then storing the shifted current scanned data as a string.
- 11. A method for constructing fragments of electronic data into a meaningful information stream, the method comprising the steps of:
(a) examining a first fragment for a start pattern; (b) opening a cluster with the first fragment if it contains a start pattern; (c) identifying at least one portion of the first fragment as a valid middle portion; (d) storing a transition position count associated with a valid middle portion; (e) examining a second fragment to determine if it has a second portion matching at least part of the first fragment in the cluster; (f) adding a matching second portion to the end of the cluster; (g) repeating the steps (e) and (f) until a stop pattern is identified; and (h) closing the cluster upon detection of a stop pattern.
- 12. The method according to claim 11, wherein step (e) includes:
examining a predetermined number of fragments for a match; and if no match is found after examining the predetermined number of fragments, then discarding the cluster and returning to step (a).
- 13. The method according to claim 11, wherein:
step (d) includes creating a range around the transition position count of the first fragment; and step (e) includes matching the transition position count of the second fragment with the transition position count range of the first fragment.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of application Ser. No. 09/798,117 filed Mar. 2, 2001 which is a continuation of application Ser. No. 08/482,893, filed on Jun. 7, 1995, which is a continuation of application Ser. No. 07/902,574, filed on Jun. 22, 1992, which issued on Nov. 14, 1995 as U.S. Pat. No. 5,466,921, which is a continuation of application Ser. No.07/586,545, filed on Sep. 21, 1990, which issued on Jun. 23, 1992 as U.S. Pat. No. 5,124,538, which is a continuation of application Ser. No. 07/237,517, filed on Aug. 26, 1988, which issued on Jul. 2, 1991 as U.S. Pat. No. 5,028,772.
Continuations (5)
|
Number |
Date |
Country |
Parent |
09798117 |
Mar 2001 |
US |
Child |
10744742 |
Dec 2003 |
US |
Parent |
08482893 |
Jun 1995 |
US |
Child |
09798117 |
Mar 2001 |
US |
Parent |
07902574 |
Jun 1992 |
US |
Child |
08482893 |
Jun 1995 |
US |
Parent |
07586545 |
Sep 1990 |
US |
Child |
07902574 |
Jun 1992 |
US |
Parent |
07237517 |
Aug 1988 |
US |
Child |
07586545 |
Sep 1990 |
US |