Claims
- 1. A method for reducing errors during data processing, comprising:
testing at least one number resulting from an incremental calculation of transform coefficients during a transform; determining whether to perform a corrective action based upon the testing; and performing the corrective action when a corrective action is determined to be needed.
- 2. The method of claim 1 wherein the determining comprises detecting whether the incremental calculation of the transform coefficients will result in transform coefficients with unacceptable precision and the performing corrective action comprises refining the at least one number.
- 3. The method of claim 2 wherein the transform comprises a transform matrix and wherein the refining comprises applying a refinement matrix for increasing precision of the incremental calculation of the transform constants.
- 4. The method of claim 3 wherein the refinement matrix comprises
- 5. The method of claim 1 further comprising generating at least one refinement matrix based on approximately calculated transform constants.
- 6. The method of claim 5 wherein the generating at least one refinement matrix is performed offline or at initialization.
- 7. The method of claim 5 wherein the generating the at least one refinement matrix comprises recognizing that an approximate transform is invertible, generating the refinement matrix given by I+dDm+1Dm−1, and structuring the transform for efficient computation.
- 8. The method of claim 5 wherein the generating the at least one refinement matrix comprises:
recognizing that recovery of the nth column of a transform matrix for generating the transform is impossible; calculating a pseudo inverse for a portion of the transform matrix; and generating an approximation for the at least one refinement matrix using the pseudo inverse for the transform matrix.
- 9. The method of claim 8 wherein the approximation of the refinement matrix comprises I+dD1d{tilde over (D)}0.
- 10. The method of claim 1 wherein the determining whether to perform a corrective action further comprises determining whether an error resulting from terminating the incremental calculation is acceptable and the performing corrective action comprises aborting the incremental calculation of a transform coefficient.
- 11. The method of claim 10 wherein the incremental calculation is terminated when a determination is made that the incremental calculation will result in a number that is projected to be within a predetermined range.
- 12. The method of claim 11 wherein the number that is projected to be within a predetermined range comprises a transform coefficient that does satisfy a precision requirement.
- 13. The method of claim 11 wherein the incremental calculation is terminated when a refinement to the transform coefficient is determined not to change the result.
- 14. The method of claim 13 wherein a refinement to the transform coefficient is determined not to change the result when, after checking the relative magnitudes of the results of the incremental calculations, an intermediate calculation of at least one transform coefficient is small compared to the intermediate calculation of another transform coefficient.
- 15. The method of claim 13 wherein a refinement to the transform coefficient is determined not to change the result when, after checking the magnitude of the results of at least one incremental calculation, at least one intermediate calculation of the transform coefficient is less than a predetermined threshold.
- 16. The method of claim 1 wherein the determining further comprises determining that a transform coefficient is going to be within a predetermined range of zero and the performing corrective action comprises aborting the incremental calculation of the transform coefficient.
- 17. A printer, comprising:
memory for storing image data; a processor for processing the image data to provide a print stream output; and a printhead driving circuit for controlling a printhead to generate a printout of the image data; wherein the processor reduces errors of the transform by testing at least one number resulting from an incremental calculation of transform coefficients during a transform, determining whether to perform a corrective action based upon the testing and performing the corrective action when a corrective action is determined to be needed.
- 18. The printer of claim 17 wherein the processor determines whether to perform a corrective action by detecting whether the incremental calculation of the transform coefficients will result in transform coefficients with unacceptable precision and performs corrective action by refining the at least one number.
- 19. The printer of claim 18 wherein the transform comprises a transform matrix and wherein the transformer refines the at least one number by applying a refinement matrix for increasing precision of the incremental calculation of the transform constants.
- 20. The printer of claim 19 wherein the refinement matrix comprises
- 21. The printer of claim 19 wherein the refinement matrix is based on approximately calculated transform constants.
- 22. The printer of claim 21 wherein the refinement matrix is generated offline or at initialization.
- 23. The printer of claim 20 wherein the refinement matrix is generated by recognizing that an approximate transform is invertible, generating the refinement matrix given by I+dDm+1Dm−1, and structuring the transform for efficient computation.
- 24. The printer of claim 20 wherein the refinement matrix is generated by recognizing that recovery of the nth column of a transform matrix for generating the transform is impossible, calculating a pseudo inverse for a portion of the transform matrix and generating an approximation for the refinement matrix using the pseudo inverse for the transform matrix.
- 25. The printer of claim 24 wherein the approximation of the refinement matrix comprises I+dD1d{tilde over (D)}0.
- 26. The printer of claim 17 wherein the transformer determines whether to perform a corrective action by determining whether an error resulting from terminating the incremental calculation is acceptable and performs corrective action by aborting the incremental calculation of a transform coefficient.
- 27. The printer of claim 26 wherein the transformer terminates the incremental calculation when a determination is made that the incremental calculation will result in a number that is projected to be within a predetermined range.
- 28. The printer of claim 27 wherein the number that is projected to be within a predetermined range comprises a transform coefficient that does satisfy a precision requirement.
- 29. The printer of claim 27 wherein the transformer terminates the incremental calculation when a refinement to the transform coefficient is determined not to change the result.
- 30. The printer of claim 29 wherein the transformer determines that a refinement to the transform coefficient will not change the result when, after checking the relative magnitudes of the results of the incremental calculations, an intermediate calculation of at least one transform coefficient is small compared to the intermediate calculation of another transform coefficient.
- 31. The printer of claim 29 wherein the transformer determines that a refinement to the transform coefficient will not change the result when, after checking the magnitude of the results of at least one incremental calculation, at least one intermediate calculation of the transform coefficient is less than a predetermined threshold.
- 32. The printer of claim 17 wherein the transformer determines that a corrective action is to be determined by determining that a transform coefficient is going to be within a predetermined range of zero and performs corrective action by aborting the incremental calculation of the transform coefficient.
- 33. An article of manufacture comprising a program storage medium readable by a computer, the medium tangibly embodying one or more programs of instructions executable by the computer to perform a method for reducing errors during data processing, the method comprising:
testing at least one number resulting from an incremental calculation of transform coefficients during a transform; determining whether to perform a corrective action based upon the testing; and performing the corrective action when a corrective action is determined to be needed.
- 34. The article of manufacture of claim 33 wherein the determining comprises detecting whether the incremental calculation of the transform coefficients will result in transform coefficients with unacceptable precision and the performing corrective action comprises refining the at least one number.
- 35. The article of manufacture of claim 34 wherein the transform comprises a transform matrix and wherein the refining comprises applying a refinement matrix for increasing precision of the incremental calculation of the transform constants.
- 36. The article of manufacture of claim 35 wherein the refinement matrix comprises I+dDm+1Dm−1.
- 37. The article of manufacture of claim 33 further comprising generating at least one refinement matrix based on approximately calculated transform constants.
- 38. The article of manufacture of claim 37 wherein the generating at least one refinement matrix is performed offline or at initialization.
- 39. The article of manufacture of claim 37 wherein the generating the at least one refinement matrix comprises recognizing that an approximate transform is invertible, generating the refinement matrix given by I+dDm+1Dm−1, and structuring the transform for efficient computation.
- 40. The article of manufacture of claim 37 wherein the generating the at least one refinement matrix comprises:
recognizing that recovery of the nth column of a transform matrix for generating the transform is impossible; calculating a pseudo inverse for a portion of the transform matrix; and generating an approximation for the at least one refinement matrix using the pseudo inverse for the transform matrix.
- 41. The article of manufacture of claim 40 wherein the approximation of the refinement matrix comprises I+dD1d{tilde over (D)}0.
- 42. The article of manufacture of claim 33 wherein the determining whether to perform a corrective action further comprises determining whether an error resulting from terminating the incremental calculation is acceptable and the performing corrective action comprises aborting the incremental calculation of a transform coefficient.
- 43. The article of manufacture of claim 42 wherein the incremental calculation is terminated when a determination is made that the incremental calculation will result in a number that is projected to be within a predetermined range.
- 44. The article of manufacture of claim 43 wherein the number that is projected to be within a predetermined range comprises a transform coefficient that does satisfy a precision requirement.
- 45. The article of manufacture of claim 43 wherein the incremental calculation is terminated when a refinement to the transform coefficient is determined not to change the result.
- 46. The article of manufacture of claim 45 wherein a refinement to the transform coefficient is determined not to change the result when, after checking the relative magnitudes of the results of the incremental calculations, an intermediate calculation of at least one transform coefficient is small compared to the intermediate calculation of another transform coefficient.
- 47. The article of manufacture of claim 45 wherein a refinement to the transform coefficient is determined not to change the result when, after checking the magnitude of the results of at least one incremental calculation, at least one intermediate calculation of the transform coefficient is less than a predetermined threshold.
- 48. The article of manufacture of claim 33 wherein the determining further comprises determining that a transform coefficient is going to be within a predetermined range of zero and the performing corrective action comprises aborting the incremental calculation of the transform coefficient.
- 49. A data analysis system, comprising;
transform equations formed by testing at least one number resulting from an incremental calculation of transform coefficients during a transform, determining whether to perform a corrective action based upon the testing and performing the corrective action when a corrective action is determined to be needed; and a transformer for applying the transform equations to perform a linear transform to decorrelate data into transform coefficients.
- 50. The data analysis system of claim 49 wherein the transformer determines whether to perform a corrective action by detecting whether the incremental calculation of the transform coefficients will result in transform coefficients with unacceptable precision and performs corrective action by refining the at least one number.
- 51. The data analysis system of claim 50 wherein the transform comprises a transform matrix and wherein the transformer refines the at least one number by applying a refinement matrix for increasing precision of the incremental calculation of the transform constants.
- 52. The data analysis system of claim 51 wherein the refinement matrix comprises I+dDm+1Dm−1.
- 53. The data analysis system of claim 51 wherein the refinement matrix is based on approximately calculated transform constants.
- 54. The data analysis system of claim 53 wherein the refinement matrix is generated offline or at initialization.
- 55. The data analysis system of claim 52 wherein the refinement matrix is generated by recognizing that an approximate transform is invertible, generating the refinement matrix given by I+dDm+1Dm−1, and structuring the transform for efficient computation.
- 56. The data analysis system of claim 52 wherein the refinement matrix is generated by recognizing that recovery of the nth column of a transform matrix for generating the transform is impossible, calculating a pseudo inverse for a portion of the transform matrix and generating an approximation for the refinement matrix using the pseudo inverse for the transform matrix.
- 57. The data analysis system of claim 56 wherein the approximation of the refinement matrix comprises I+dD1d{tilde over (D)}0.
- 58. The data analysis system of claim 49 wherein the transformer determines whether to perform a corrective action by determining whether an error resulting from terminating the incremental calculation is acceptable and performs corrective action by aborting the incremental calculation of a transform coefficient.
- 59. The data analysis system of claim 58 wherein the transformer terminates the incremental calculation when a determination is made that the incremental calculation will result in a number that is projected to be within a predetermined range.
- 60. The data analysis system of claim 59 wherein the number that is projected to be within a predetermined range comprises a transform coefficient that does satisfy a precision requirement.
- 61. The data analysis system of claim 59 wherein the transformer terminates the incremental calculation when a refinement to the transform coefficient is determined not to change the result.
- 62. The data analysis system of claim 61 wherein the transformer determines that a refinement to the transform coefficient will not change the result when, after checking the relative magnitudes of the results of the incremental calculations, an intermediate calculation of at least one transform coefficient is small compared to the intermediate calculation of another transform coefficient.
- 63. The data analysis system of claim 61 wherein the transformer determines that a refinement to the transform coefficient will not change the result when, after checking the magnitude of the results of at least one incremental calculation, at least one intermediate calculation of the transform coefficient is less than a predetermined threshold.
- 64. The data analysis system of claim 49 wherein the transformer determines that a corrective action is to be determined by determining that a transform coefficient is going to be within a predetermined range of zero and performs corrective action by aborting the incremental calculation of the transform coefficient.
RELATED PATENT DOCUMENTS
[0001] This is a divisional of patent application Ser. No. 09/694,455, filed on Oct. 23, 2000 (BLD920000064US1), to which Applicant claims priority under 35 U.S.C. §120. This application is also related to the following co-pending and commonly-assigned patent applications, which are hereby incorporated herein by reference in their respective entirety:
[0002] “FASTER DISCRETE COSINE TRANSFORMS USING SCALED TERMS” to Brady et al., having patent application Ser. No. 09/694,452, filed on Oct. 23, 2000 (attorney docket no. BLD9-2000-0056US1).
[0003] “FASTER TRANSFORMS USING SCALED TERMS” to Trelewicz et al., having patent application Ser. No. 09/694,448, filed on Oct. 23, 2000 (attorney docket no. BLD9-2000-0059US1).
Divisions (1)
|
Number |
Date |
Country |
Parent |
09694455 |
Oct 2000 |
US |
Child |
10772691 |
Feb 2004 |
US |