Claims
- 1. A data compression method for color image raster data, comprising the steps of:
retaining individual pixel image data values for each recorded pixel color value of the color image raster data set that is different from both a preceding row, same column, pixel and a horizontally adjacent, same row, preceding pixel; and for each retained pixel image data value, encoding individual pixel image data values for pixels in a current pixel row with replacement data strings wherein the replacement data strings include a replacement positioning code and a 10 replacement count code for replicating retained pixel image data values for subsequent raster data decompression as a group of substantially identical color value pixels.
- 2. The method as set forth in claim 1 further comprising:
the preceding row, same column, pixel is a pixel in a pixel row superjacent a current pixel in a current row under data compression processing.
- 3. The method as set forth in claim 2 further comprising:
the horizontally adjacent preceding pixel is an immediately previous pixel of the current pixel in the current pixel row under data compression processing.
- 4. The method as set forth in claim 3 wherein the step of encoding comprises the step of:
replacing pixel image data values for current pixels with replacement data strings wherein the strings are structured in the form of a Command field and a Data field.
- 5. The method as set forth in claim 4, the step of replacing further comprising:
the replacement data strings including four segments in the Command field including:
(1) CMD Bit, (2) Pixel Source Bit, (3) Seed Row Count, and (4) Replacement Count, where
“CMD Bit” is set to zero, “0,” for a Replacement Pixel List, “RPL,” data group and set to one, “1,” for a Replacement Pixel Run, “RPR,” data group, “Pixel Source Bit” indicates what color the compression run will be, where set to
0=new color (no caching is being used), 1=use preceding column, same row color, 2=use superjacent row, following column color, 3=use a cached color, where for RPR groups Pixel Source bits indicate the color for an entire compression run and for RPL data compression runs the Pixel Source bits indicate color for an initial pixel in the compression run and remaining pixels are encoded in a separated Data Bytes field, and the cached color is updated by each encoded new color, “Seed Row Count” is number of pixels to copy from the seed row, and “Replacement Count” is number of consecutive pixels to be replaced.
- 6. The method as set forth in claim 5, Pixel Source Bit further comprising:
initial color cache is white for each raster, and location is relative to current pixel location after seed row copy run, where “seed row copy run” means number of consecutive pixels to copy from a seed row.
- 7. The method as set forth in claim 5, Replacement Count further comprising:
for RPL data transfers Replacement Count is one less than actual number and for RPR transfers Replacement Count is two less than actual number.
- 8. The method as set forth in claim 5, comprising:
the replacement pixel list data groups are literal color space coordinate data.
- 9. The method as set forth in claim 5, comprising the steps of:
including in the Data field either absolute values of the color image data value for a current pixel, or if a current pixel is close in color value to a vertically adjacent pixel but not identical to color value of a same row, horizontally adjacent, preceding pixel color or vertically adjacent, next column pixel color, recording in the Data field a reduced size bit set value encoding a difference value between the current pixel color value and the vertically adjacent pixel color value.
- 10. The method as set forth in claim 9, comprising the steps of:
determining if the current pixel is close in color value but not identical to color value of an adjacent pixel thereto in accordance with the equation a<Colorcurrent pixel−Colorseed row pixel<b, where a and b are predetermined threshold limits such that a difference outside the limits results in recording absolute values in the Data field and a difference within the limits results in recording a difference value in the Data field.
- 11. The method as set forth in claim 5, comprising the further steps of:
a. when the current pixel is a same color value as the vertically adjacent row pixel, incrementing the Seed Row Count; b. selecting a next pixel horizontally following the current pixel as a new current pixel; and c. repeating steps a. and b. until a new current pixel is not a same color value as the vertically adjacent row pixel.
- 12. The method as set forth in claim 11, comprising the further steps of:
d. when a current pixel is not a same color value to the vertically adjacent preceding pixel, determining if the current pixel is the same color value as the horizontally adjacent preceding pixel; e. when the current pixel is not a same color value to the vertically adjacent preceding pixel and the current pixel is a same color value to the horizontally adjacent preceding pixel, executing an replacement pixel run data compression encoding of the current pixel and returning to step b.; and f. when the current pixel is not a same color value to the vertically adjacent preceding pixel and the current pixel is not a same color value to the horizontally adjacent preceding pixel, encoding pixel image data values for pixels in a current pixel row with replacement data strings wherein the replacement data strings include a vertically adjacent row pixel offset count code and a replacement positioning code for replicating retained pixel image data values for subsequent raster data decompression as a group of substantially identical color value pixels and returning to step b, wherein color value is designated by the Pixel Source Bit.
- 13. A data compression method for compound document data, comprising the steps of:
receiving a set of page description data representing a compound document page including at least one image data subset; extracting image data from the set of page description data; filtering the image data for enhancing subsequent data compression and outputting a filtered image data set; recombining the filtered image data set with the set of page description data from which the image data was extracted; rasterizing the set of page description data having the filtered image data set and outputting a set of rasterized page description data; and compressing the rasterized page description data and outputting a set of compressed rasterized page description data.
- 14. The method as set forth in claim 13 wherein the step of compressing comprises the steps of:
retaining individual pixel image data values for each recorded pixel color value of the color image raster data set that is different from both a preceding row, same column, pixel and a horizontally adjacent, same row, preceding pixel; and for each retained pixel image data value, encoding individual pixel image data values for pixels in a current pixel row with replacement data strings wherein the replacement data strings include a replacement positioning code and a replacement count code for replicating retained pixel image data values for subsequent raster data decompression as a group of substantially identical color value pixels.
- 15. The method as set forth in claim 14 wherein the step of encoding comprises the steps of:
replacing pixel image data values for current pixels in a current pixel row with replacement byte strings wherein the byte strings are structured in the form of a Command field and a Data field.
- 16. The method as set forth in claim 15 wherein the step of replacing further comprises:
including four segments in the Command field including
(1) CMD Bit, (2) Pixel Source Bit, (3) Seed Row Count, and (4) Replacement Count, where
“CMD Bit” is set to zero, “0,” for a Replacement Pixel List, “RPL,” data group and set to one, “1,” for a Replacement Pixel Run, “RPR,” data group, “Pixel Source Bit” indicates what color the compression run will be, where set to
0=new color (no caching is being used), 1=use preceding column, same row color, 2=use superjacent row, following column color, 3=use a cached color, where for RPR groups Pixel Source bits indicate the color for an entire compression run and for RPL data compression runs the Pixel Source bits indicate color for an initial pixel in the compression run and remaining pixels are encoded in a separated Data Bytes field, and the cached color is updated by each encoded new color, “Seed Row Count” is number of pixels to copy from the seed row, and “Replacement Count” is number of consecutive pixels to be replaced.
- 17. The method as set forth in claim 16, comprising the steps of:
including in the Data field either absolute values of the color image data value for a current pixel, or if a current pixel is close in color value to a vertically adjacent pixel but not identical to color value of a same row, horizontally adjacent, preceding pixel color or vertically adjacent, next column pixel color, recording in the Data field a reduced size bit set value encoding a difference value between the current pixel color value and the vertically adjacent pixel color value.
- 18. The method as set forth in claim 17, comprising the steps of:
determining if the current pixel is close in color value but not identical to color value of an adjacent pixel thereto in accordance with the equation a<Colorcurrent pixel−Colorseed row pixel<b, where a and b are predetermined threshold limits such that a difference outside the limits results in recording absolute values in the Data field and a difference within the limits results in recording a difference value in the Data field.
- 19. The method as set forth in claim 18, comprising the steps of:
a. when the current pixel is a same color value as the vertically adjacent row pixel, incrementing the Seed Row Count; b. selecting a next pixel horizontally following the current pixel as a new current pixel; and c. repeating steps a. and b. until a new current pixel is not a same color value as the vertically adjacent row pixel.
- 20. The method as set forth in claim 19, comprising the further steps of:
d. when a current pixel is not identical in color value to the vertically adjacent preceding pixel, determining if the current pixel is the same color value as the horizontally adjacent preceding pixel; e. when the current pixel is not identical in color value to the vertically adjacent preceding pixel and the current pixel is identical in color value to the horizontally adjacent preceding pixel, executing an Replacement pixel run data compression encoding of the current pixel and returning to step b.; and f. when the current pixel is not identical in color value to the vertically adjacent preceding pixel and the current pixel is not identical in color value to the horizontally adjacent preceding pixel, encoding pixel image data values for pixels in a current pixel row with replacement data strings wherein the replacement data strings include an seed row count code and a replacement positioning code for replicating retained pixel image data values for subsequent raster data decompression as a group of substantially identical color value pixels and returning to step b.
- 21. The method as set forth in claim 20, comprising the step of:
designating the color value by the Pixel Source Bit.
- 22. The method as set forth in claim 18, comprising the step of:
deciding whether a relative color pixel or an absolute color coordinate pixel value is used in the data field according to the equations: −16≦Redcurrent[7,0]−Red[7,0]≦15, −16≦Greencurrent[7,0]−Greenseed row[7,0]≦15, and −32≦Bluecurrent[7,1]−Blueseed row[7,0]≦30, such that when true, current pixel data is output as a 15-bit relative value, and when false, current pixel data is output as a 23-bit absolute value.
- 23. A computer memory having an image data compression program comprising:
means for retaining individual pixel image data values for each recorded pixel color value of the color image raster data set that is different from both a preceding row, same column, pixel and a horizontally adjacent, same row, preceding pixel; and for each retained pixel image data value, means for encoding individual pixel image data values for pixels in a current pixel row with replacement data strings wherein the replacement data strings include a replacement positioning code and a replacement count code for replicating retained pixel image data values for subsequent raster data decompression as a group of substantially identical color value pixels.
- 24. The memory as set forth in claim 23 the means for encoding comprising:
means for replacing pixel image data values for current pixels with replacement data strings wherein the strings are structured in the form of a Command field and a Data field.
- 25. The memory as set forth in claim 24, the means for replacing further comprising:
the replacement data strings including four segments in the Command field including
(1) CMD Bit, (2) Pixel Source Bit, (3) Seed Row Count, and (4) Replacement Count, where
“CMD Bit” is set to zero, “0,” for a Replacement Pixel List, “RPL,” data group and set to one, “1,” for a Replacement Pixel Run, “RPR,” data group, “Pixel Source Bit” indicates what color the compression run will be, where set to
0=new color (no caching is being used), 1=use preceding column, same row color, 2=use superjacent row, following column color, 3=use a cached color, where for RPR groups Pixel Source bits indicate the color for an entire compression run and for RPL data compression runs the Pixel Source bits indicate color for an initial pixel in the compression run and remaining pixels are encoded in a separated Data Bytes field, and the cached color is updated by each encoded new color, “Seed Row Count” is number of pixels to copy from the seed row, and “Replacement Count” is number of consecutive pixels to be replaced.
- 26. The memory as set forth in claim 25, comprising:
the replacement pixel run data groups are replacement pixel list color space coordinate data.
- 27. The memory as set forth in claim 25, comprising:
including in the Data field either absolute values of the color image data value for a current pixel, or if a current pixel is close in color value to a vertically adjacent pixel but not identical to color value of a same row, horizontally adjacent, preceding pixel color or vertically adjacent, next column pixel color, recording in the Data field a reduced size bit set value encoding a difference value between the current pixel color value and the vertically adjacent pixel color value.
- 28. The memory as set forth in claim 27, comprising:
means for determining if the current pixel is close in color value but not identical to color value of an adjacent pixel thereto in accordance with the equation a<Colorcurrent pixel−Colorseed row pixel<b, where a and b are predetermined threshold limits such that a difference greater than the limits results in recording absolute values in the Data field and a difference less than the limits results in recording a difference value in the Data field.
- 29. The memory as set forth in claim 28, comprising:
means for incrementing the Seed Row Count when the current pixel is a same color value as the vertically adjacent row pixel; means for selecting a next pixel horizontally following the current pixel as a new current pixel; and means for repeating incrementing and selecting until a new current pixel is not a same color value as the vertically adjacent row pixel.
- 30. The memory as set forth in claim 29, comprising the further steps of:
means for determining if the current pixel is the same color value as the horizontally adjacent preceding pixel when a current pixel is not a same color value to the vertically adjacent preceding pixel; means for performing an replacement pixel run data compression encoding of the current pixel when the current pixel is not a same color value to the vertically adjacent preceding pixel and the current pixel is a same color value to the horizontally adjacent preceding pixel; means for encoding pixel image data values for pixels in a current pixel row with replacement data strings wherein the replacement data strings include a replacement positioning code for replicating retained pixel image data values for subsequent raster data decompression as a group of substantially identical color value pixels when the current pixel is not a same color value to the vertically adjacent preceding pixel and the current pixel is not a same color value to the horizontally adjacent preceding pixel; and means for repeating the data compression program for each pixel of a image data set.
RELATED APPLICATION
[0001] This application is related to U.S. patent application Ser. No. ______ filed on the same date herewith, by the same inventors herein named, for Compound Document Page Data Processing, attorney docket no. 10980516-1.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09193321 |
Nov 1998 |
US |
Child |
10080327 |
Feb 2002 |
US |