Claims
- 1. A computer implemented method for transform processing of transformed data comprising the steps of:receiving first and second input blocks of transform coefficients for two blocks G and H; and merging the blocks G and H by combining transform coefficients of the blocks G and H composed of contiguous σ1 samples of block G followed by contiguous N1−σ1 samples of block H along a first dimension, and combining coefficients of the merged block with transform coefficients from one of the G or H blocks composed of contiguous σ2 samples from one block and N2−σ1 from the other block along a second dimension orthogonal to the first dimension, where the first and second input blocks are N1×N2 and σ1 and σ2 are merge parameters for the first and second dimensions, respectively, and N1>σ1 and N2>σ2, yielding the hybrid block F in the transform domain.
- 2. The computer implemented method for transform domain processing of transformed data recited in claim 1, further comprising the steps of:selecting said merge parameters σ1 and σ2 along first and second orthogonal axes; generating a transformation from the transform coefficients of original blocks into the transform coefficients for a new hybrid block; and pre-computing the constants for the transformation equations for each merge parameter.
- 3. The computer implemented method for transform domain processing of transformed data recited in claim 1, wherein the first and second data are image data, the samples are from one component of the image data and the blocks are from different images.
- 4. The computer implemented method for transform domain processing of transformed data recited in claim 3, wherein the first dimension is horizontal and the second dimension is vertical, σ1 and σ2 being merge parameters σh and σv, respectively.
- 5. The computer implemented method for transform domain processing of transformed data recited in claim 3, wherein the first dimension is vertical and the second dimension is horizontal, σ1 and σ2 being merge parameters σv and σh, respectively.
- 6. The computer implemented method for transform domain processing of transformed data recited in claim 3, wherein the step of transforming uses the Discrete Cosine Transform (DCT).
- 7. The computer implemented method for transform domain processing of transformed data recited in claim 6, wherein N1=8 and N2=8.
- 8. The computer implemented method for transform domain processing of transformed data recited in claim 6, wherein the transformed images are JPEG (Joint Photographic Experts Group) compressed images.
- 9. The computer implemented method for transform domain processing of transformed data recited in claim 6, where in the transformed images are MPEG (Moving Pictures Experts Group) compressed images.
- 10. The computer implemented method for transform domain processing of transformed data recited in claim 1, further comprising the step of generating independent one-dimensional representations for each of two orthogonal axes for the blocks G and H to obtain transformations of coefficients of each block.
- 11. The computer implemented method for transform domain processing of transformed data recited in claim 10, further comprising the step of optimizing the one-dimensional representations using symmetries and trigonometric identities to yield a fast transformations.
- 12. The computer implemented method for transform domain processing of transformed data recited in claim 1, wherein the hybrid block F is constructed using pre-computed merge arrays for the merge parameters σ1 and σ2.
- 13. The computer implemented method for transform domain processing of transformed data recited in claim 12, wherein the sample blocks G and H are overlapping and the step of merging is performed along a first axis by computing a sum and a difference of coefficients of the transformed data for the blocks G and H in the first axis to produce an intermediate block and along a second axis orthogonal to the first axis by computing a sum and a difference of coefficients of the transformed data for the intermediate block and one of said blocks G and H.
- 14. The computer implemented method for transform domain processing of transformed data recited in claim 13, wherein and the hybrid block F is constructed by accessing the pre-computed merge arrays to generate coefficients for the hybrid block F as a function of the computed sum and difference of coefficients of the transformed data for the intermediate block and one of said blocks G and H.
- 15. A computer system for transform processing of transformed data comprising:temporary storage means for storing first and second input blocks of transformed coefficients for two blocks G and H; and shifter and merger means accessing the temporary storage means for the respective coefficients from the blocks G and H and combining the transform coefficients of the blocks G and H composed of contiguous σ1 samples of block G followed by contiguous N1−σ1 samples of block H along a first dimension, and combining coefficients of the shifted or merged block with transform coefficients from one of the G or H blocks composed of contiguous σ2 samples from one block and N2−σ2 from the other block along a second dimension orthogonal to the first dimension, where the first and second input blocks are N1×N2 and σ1 and σ2 are merge parameters for the first and second dimensions, respectively, and N1>σ1 and N2>σ2, yielding a hybrid block F in the transform domain.
- 16. The computer system recited in claim 15, wherein the computer system is a printing system using Joint Photographic Experts Group (JPEG) compressed images and wherein the temporary storage means and the shifter and merger means comprise a printer server.
- 17. The computer system recited in claim 16, wherein the printer server further comprises:a JPEG entropy decoder receiving JPEG compressed data and storing transform coefficients on said temporary storage means; and a JPEG entropy encoder accessing coefficients of the hybrid block F in the transform domain from said temporary storage means and outputting shifted and/or merged JPEG compressed composite data.
- 18. The computer system recited in claim 17, further comprising:a source of image data; a JPEG encoder receiving image data and generating JPEG compressed image data, the JPEG compressed data being transmitted to said printer server; a JPEG decoder connected to receive an output from said printer server and reconstructing composite image data; and a printer receiving the composite image data and printing a composite image.
- 19. The computer system recited in claim 18, wherein said source of image data is a scanner.
- 20. A computer implemented method for transform domain processing of transformed data comprising the steps of:receiving first and second input blocks of transform coefficients of two N1×N2 blocks G and H; generating a transformation from the transform coefficients of each original block G and H into transform coefficients for a new hybrid block F; generating constants from output quantization values for each transform coefficient for the hybrid block F; and merging the first and second input blocks of data, by combining transform coefficients of the blocks G and H composed of contiguous σ1 samples of block G followed by contiguous N1−σ1 samples of block H in a first dimension, and combining transform coefficients from the merged block and one of the blocks G or H composed of σ2 samples of the merged block followed by contiguous N2−σ2 samples of the block G or H in a second dimension orthogonal to the first dimension, where σ1 and σ2 are merge parameters and N1>σ1 and N2>σ2, yielding coefficients containing a mixture of sample data from blocks G and H to yield quantized coefficients for said hybrid block F in the transform domain.
- 21. The computer implemented method for transform domain processing of transformed data recited in claim 20, further comprising the step of zeroing intermediate high-precision quantized transform coefficients whose magnitudes are below a threshold between the merge operations on the two axes.
- 22. A computer implemented method for transform domain processing of transformed data comprising the steps of:entropy decoding first and second input blocks of data to generate two blocks N1×N2 G and H of quantized transform coefficients; generating a transformation from the transform coefficients of each original block G and H into transform coefficients for a new hybrid block F; generating constants from input quantization values for each transform coefficient for said input blocks G and H; and merging the first and second input blocks of data, by combining quantized transform coefficients of the blocks G and H composed of contiguous σ1 samples of block G followed by contiguous N1−σ1 samples of block H in a first dimension, and combining transform coefficients from the merged block and one of the blocks G or H composed of σ2 samples of the merged block followed by contiguous N2−σ2 samples of the block G or H in a second dimension orthogonal to the first dimension, where σ1 and σ2 are merge parameters and N1>σ1 and N2>σ2, yielding coefficients containing a mixture of sample data from blocks G and H to yield said hybrid block F in the transform domain.
- 23. A computer implemented method for transform domain processing of transformed data comprising the steps of:entropy decoding first and second input blocks of data to generate two blocks N1×N2 G and H of quantized transform coefficients; generating a transformation from the transform coefficients of each original block G and H into transform coefficients for a new hybrid block F; generating constants from input quantization values for each transform coefficient for said input blocks G and H and from the output quantization values for each transform coefficient for said hybrid block F; and merging the first and second input blocks of data, by combining quantized transform coefficients of the blocks G and H composed of contiguous σ1 samples of block G followed by contiguous N1−σ1 samples of block H in a first dimension, and combining transform coefficients from the merged block and one of the blocks G or H composed of σ2 samples of the merged block followed by contiguous N2−σ2 samples of the block G or H in a second dimension orthogonal to the first dimension, where σ1 and σ2 are merge parameters and N1>σ1 and N2>σ2, yielding coefficients containing a mixture of sample data from blocks G and H to yield quantized transform coefficients for said hybrid block F in the transform domain.
- 24. The computer implemented method for transform domain processing of transformed data recited in claim 23, further comprising the step of zeroing intermediate high-precision quantized transform coefficients whose magnitudes are below a threshold between the merge operations on the two axes.
- 25. A computer implemented method for transform processing of transformed data comprising the steps of:receiving first, second, third and fourth input blocks of transform coefficients for four blocks G11, G12, G21 and G22 respectively corresponding to said first, second, third and fourth input blocks of data in a 2×2 array; and shifting the blocks G11, G12, G21 and G22 in two dimensions by (i) combining transform coefficients to shift a first pair of adjacent blocks along a first axis selected from the blocks G11, G12, G21 and G22 and composed of contiguous σ1 samples of a first block of the first pair followed by contiguous N1−σ1 samples of a second block of the first pair along said first axis to generate a first intermediate hybrid block F1 in the transform domain, (ii) combining transform coefficients to shift a second pair of remaining adjacent blocks from the blocks G11, G12, G21 and G22 along said first axis and composed of contiguous σ1 samples of a first block of the second pair followed by contiguous N1−σ1 samples of a second block of the second pair along said first axis to generate a second intermediate hybrid block F2 in the transform domain, and (iii) combining transform coefficients of the first intermediate hybrid block F1 with transform coefficients from the second intermediate hybrid block F2 composed of contiguous σ2 samples from one block and N2−σ2 from the other block along a second axis orthogonal to the first axis, where the first, second, third and fourth input blocks are N1×N2 and σ1 and σ2 are shift parameters for the first and second dimensions, respectively, and N1>σ1 and N2>σ2, yielding the hybrid block F in the transform domain.
- 26. The computer implemented method for transform processing of transformed data recited in claim 25, further comprising the steps of:selecting said shift parameters σ1 and σ2 along said first and second orthogonal axes; generating a transformation from the transform coefficients of original blocks into the transform coefficients for a new hybrid block; and pre-computing constants for each selected shift parameter.
- 27. A computer implemented method for transform domain processing of transformed data comprising the steps of:receiving first, second, third and fourth input blocks of transform coefficients for four blocks G11, G12, G21 and G22 respectively corresponding to said first, second, third and fourth input blocks of data in a 2×2 array; generating a transformation from the transform coefficients of each original block into transform coefficients for a new hybrid block; generating constants from output quantization values for each transform coefficient for the new hybrid block; and shifting the blocks G11, G12, G21 and G22 in two dimensions by (i) combining transform coefficients to shift a first pair of adjacent blocks along a first axis selected from the blocks G11, G12, G21 and G22 and composed of contiguous σ1 samples of a first block of the first pair followed by contiguous N1−σ1 samples of a second block of the first pair along said first axis to generate a first intermediate hybrid block F1 in the transform domain, (ii) combining transform coefficients to shift a second pair of remaining adjacent blocks from the blocks G11, G12, G21 and G22 along said first axis and composed of contiguous σ1 samples of a first block of the second pair followed by contiguous N1−σ1 samples of a second block of the second pair along said first axis to generate a second intermediate hybrid block F2 in the transform domain, and (iii) combining transform coefficients of the first intermediate hybrid block F1 with transform coefficients from the second intermediate hybrid block F2 composed of contiguous σ2 samples from one block and N2−σ2 from the other block along a second axis orthogonal to the first axis, where the first, second, third and fourth input blocks are N1×N2 and σ1 and σ2 are shift parameters for the first and second dimensions, respectively, and N1>σ1 and N2>σ2, yielding the hybrid block F in the transform domain.
- 28. The computer implemented method for transform domain processing of transformed data recited in claim 27, further comprising the step of zeroing intermediate high-precision quantized transform coefficients whose magnitudes are below a threshold between the shift operations on the two axes.
- 29. A computer implemented method for transform domain processing of transformed data comprising the steps of:entropy decoding first, second, third and fourth input blocks of data in a 2×2 array to generate four blocks G11, G12, G21 and G22 of quantized transform coefficients respectively corresponding to said first, second, third and fourth input blocks of data in said 2×2 array; generating transformation from the transform coefficients of each original block into transform coefficients for a new hybrid block; generating constants from input quantization values for each transform coefficient for said input blocks; and shifting the blocks G11, G12, G21 and G22 in two dimensions by (i) combining quantized transform coefficients to shift a first pair of adjacent blocks along a first axis selected from the blocks G11, G12, G21 and G22 and composed of contiguous σ1 samples of a first block of the first pair followed by contiguous N1−σ1 samples of a second block of the first pair along said first axis to generate a first intermediate hybrid block F1 in the transform domain, (ii) combining quantized transform coefficients to shift a second pair of remaining adjacent blocks from the blocks G11, G12, G21 and G22 along said first axis and composed of contiguous σ1 samples of a first block of the second pair followed by contiguous N1−σ1 samples of a second block of the second pair along said first axis to generate a second intermediate hybrid block F2 in the transform domain, and (iii) combining quantized coefficients of the first intermediate hybrid block F1 with transform coefficients from the second intermediate hybrid block F2 composed of contiguous σ2 samples from one block and N2−σ2 from the other block along a second axis orthogonal to the first axis, where the first, second, third and fourth input blocks are N1×N2 and σ1 and σ2 are shift parameters for the first and second dimensions, respectively, and N1>σ1 and N2>σ2, yielding the hybrid block F in the transform domain.
- 30. A computer implemented method for transform domain processing of transformed data comprising the steps of:entropy decoding first, second, third and fourth input blocks of data in a 2×2 array to generate four blocks G11, G12, G21 and G22 of quantized transform coefficients respectively corresponding to said first, second, third and fourth input blocks of data in said 2×2 array; generating a transformation from the transform coefficients of each original input block into transform coefficients for a new hybrid block; generating constants from input quantization values for each transform coefficient for said input blocks and from the output quantization values for each transform coefficient for said hybrid block; and shifting the blocks G11, G12, G21 and G22 in two dimensions by (i) combining quantized transform coefficients to shift a first pair of adjacent blocks along a first axis selected from the blocks G11, G12, G21 and G22 and composed of contiguous σ1 samples of a first block of the first pair followed by contiguous N1−σ1 samples of a second block of the first pair along said first axis to generate a first intermediate hybrid block F1 in the transform domain, (ii) combining quantized transform coefficients to shift a second pair of remaining adjacent blocks from the blocks G11, G12, G21 and G22 along said first axis and composed of contiguous σ1 samples of a first block of the second pair followed by contiguous N1−σ1 samples of a second block of the second pair along said first axis to generate a second intermediate hybrid block F2 in the transform domain, and (iii) combining quantized coefficients of the first intermediate hybrid block F1 with transform coefficients from the second intermediate hybrid block F2 composed of contiguous σ2 samples from one block and N2−σ2 from the other block along a second axis orthogonal to the first axis, where the first, second, third and fourth input blocks are N1×N2 and σ1 and σ2 are shift parameters for the first and second dimensions, respectively, and N1>σ1 and N2>σ2, yielding the quantized transform coefficients of the hybrid block F in the transform domain.
- 31. The computer implemented method for transform domain processing of transformed data recited in claim 30, further comprising the step of zeroing intermediate high-precision quantized transform coefficients whose magnitudes are below a threshold between the shift operations on the two axes.
CROSS REFERENCE TO RELATED APPLICATIONS
The present application is related to the following U.S. patent applications: Ser. No. 09/186,245 filed Nov. 4, 1998, by Joan L. Mitchell and Martin J. Bright for “Transform-Domain Correction of Real Domain Errors”, Ser. No. 09/186,249 filed Nov. 4, 1998, by Martin J. Bright and Joan L. Mitchell for “Error Reduction in Transformed Digital Data”, Ser. No. 09/186,247 filed Nov. 4, 1998, by Martin J. Bright and Joan L. Mitchell for “Reduced-error Processing of Transformed Digital Data” and Ser. No. 09/524,266 filed concurrently herewith by Charles A. Micchelli, Marco Martens, Timothy J. Trenary and Joan L. Mitchell for “Shift and/or Merge of Transformed Data Along One Axis”, all assigned to a common assignee with this application and the disclosures of which are incorporated herein by reference.
US Referenced Citations (6)
Number |
Name |
Date |
Kind |
4894713 |
Delogne et al. |
Jan 1990 |
A |
5455874 |
Ormsby et al. |
Oct 1995 |
A |
6115070 |
Song et al. |
Sep 2000 |
A |
6256422 |
Mitchell et al. |
Jul 2001 |
B1 |
6393155 |
Bright et al. |
May 2002 |
B1 |
6473533 |
Yokose et al. |
Oct 2002 |
B1 |
Non-Patent Literature Citations (5)
Entry |
Ut-Va Koc, et al., “Interpolation-Free Subpixel Motion Estimation Techniques in DCT Domain”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 8, No. 4, Aug. 1998. |
Ut-Va Koc, et al., “DCT-Based Motion Estimation”, IEEE Transactions on Image Processing, vol. 7, No. 7, Jul. 1998. |
Shih-Fu Chang, et al., “Manipulation and Compositing of MC-DCT Compressed Video”, IEEE Journal on Selected Areas in communications, vol. 13, No. 1, Jan. 1995. |
Weidong Kou et al., “A Direct Computation of DCT Coefficients for a Signal Block Taken from Two Adjacent Blocks”, IEEE Transactions on Signal Processing, vol. 29, No. 7, Jul. 1991. |
Soo-Chang Pei et al., “High Resolution Wigner Distribution Using Chirp Z-Transform Analysis”, IEEE Transactions on Signal Processing, vol. 29, No. 7, Jul. 1991. |