Claims
- 1. A method of manipulating an image, comprising the steps of:
scanning an image line-by-line to obtain scan data; writing the scan data into a buffer; after the buffer has M lines of scan data which extend to an end of the image, performing the steps of:
rotating image data of a block of M lines by N pixels of the scan data and writing the block which has been rotated to a memory; and rotating image data of other blocks of the scan data in the buffer having M lines of the scan data and writing the other blocks which have been rotated into memory.
- 2. A method according to claim 1, wherein:
the step of writing is performed without compressing or decompressing the scan data.
- 3. A method according to claim 1, wherein:
the steps of rotating comprising rotating the image one of 90 degrees, 180 degrees. and 270 degrees.
- 4. A method according to claim 3, wherein the steps of rotating further comprise:
flipping the data about an axis parallel to a sub-scan direction.
- 5. A method according to claim 1, wherein the steps of rotating comprise:
flipping the data about an axis parallel to a sub-scan direction.
- 6. A method according to claim 5, wherein the steps of rotating comprise:
flipping the data about an axis parallel to a sub-scan direction without performing any rotation about an axis in a main-scan direction and without rotating about a point of the blocks.
- 7. A method according to claim 5, wherein the writing steps comprise:
writing the blocks of scan data which have been rotated such that the blocks of scan data which have been rotated are written into a flipped position in memory.
- 8. A method according to claim 1, wherein the writing steps comprise:
writing the blocks of scan data which have been rotated such that locations of the blocks of scan data which have been rotated are written into a rotated position in memory.
- 9. A method according to claim 1, further comprising the step of:
compressing the blocks of scan data after image data of the blocks has been rotated and before the writing of the blocks into a rotated position in memory.
- 10. A method according to claim 1, wherein the step of rotating the M by N block comprises:
rotating the M by N block which has a same size as a direct memory access buffer used to write the rotated block into the memory.
- 11. A method of manipulating an image, comprising the steps of:
reading blocks of image data, representing an image, out of memory; rotating the blocks of image data so that image data within the blocks is rotated; writing into a print buffer the blocks of image data such that a location of the blocks is rotated with respect to the orientation of the image stored in memory; and printing the blocks of image data which are stored in the printer buffer, after the buffer has M complete main-scan lines of image data.
- 12. A method according to claim 11, wherein the step of reading comprises:
reading the blocks of image data which are a size equal to a size of a direct memory access buffer used to read the image data.
- 13. A method of combining images, comprising the steps of:
reading blocks of image data of a first image; reading corresponding blocks of image data of a second image; logically combining the corresponding blocks of image data of the first and second images; writing into a print buffer the logically combined blocks of image data; printing the blocks of image data which are stored in the printer buffer, after the buffer has M complete main-scan lines of image data.
- 14. A method according to claim 13, further comprising the step of:
rotating the logically combined blocks, before writing the logically combined blocks into the print buffer, wherein the writing step comprises: writing into the print buffer the blocks of image data which have been rotated and logically combined such that a location of the blocks is rotated with respect to the orientation of the blocks before the blocks are read.
- 15. A method of forming an image having a first end and a second end which is perpendicular to the first end, comprising the steps of:
selecting a section of an image; dividing the section which has been selected into rows and columns of blocks; writing a first row of blocks of the section which has been selected into a memory until the first end of the image to be formed is reached; writing in sequence subsequent rows of the section which has been selected into the memory until the first end of the image to be formed is reached for the subsequent rows, and when the image to be formed is not completed to the second end but a last row of the section which has been selected is reached, writing in sequence the rows of the section which has been selected beginning again with the first row of blocks, until the image to be formed is completed to the second end.
- 16. A method according to claim 15, wherein:
the writing steps write said rows such that each of said rows contains more than one copy of at least one block of a corresponding row of the selected section of the image.
- 17. A method according to claim 15, wherein:
the writing steps write said rows such that ends of said rows have blocks other than ends of the section of the image which has been selected.
- 18. A system for manipulating an image, comprising:
means for scanning an image line-by-line to obtain scan data; means for writing the scan data into a buffer; means for rotating image data of a block of M lines by N pixels of the scan data and writing the block which has been rotated to a memory, after the buffer has M lines of scan data which extend to an end of the image; and means for rotating image data of other blocks of the scan data in the buffer having M lines of the scan data and writing the other blocks which have been rotated into memory.
- 19. A system according to claim 18, wherein:
the means for writing operates without compressing or decompressing the scan data.
- 20. A system according to claim 18, wherein both of the means for rotating comprise:
means for rotating the image one of 90 degrees, 180 degrees, and 270 degrees.
- 21. A system according to claim 20, wherein both of the means for rotating further comprise:
means for flipping the data about an axis parallel to a sub-scan direction.
- 22. A system according to claim 18 wherein both of the means for rotating comprise:
means for flipping the data about an axis parallel to a sub-scan direction.
- 23. A system according to claim 22, wherein both of the means for rotating comprise:
means for flipping the data about an axis parallel to a sub-scan direction without performing any rotation about an axis in a main-scan direction and without rotating about a point of the blocks.
- 24. A system according to claim 22, wherein the means which perform the writing comprise:
means for writing the blocks of scan data which have been rotated such that the blocks of scan data which have been rotated are written into a flipped position in memory.
- 25. A system according to claim 18, wherein the means for writing comprise:
means for writing the blocks of scan data which have been rotated such that locations of the blocks of scan data which have been rotated are written into a rotated position in memory.
- 26. A system according to claim 18, further comprising:
means for compressing the blocks of scan data after image data of the blocks has been rotated and before the writing of the blocks into a rotated position in memory.
- 27. A system according to claim 18, wherein the means for rotating the M by N block comprises:
means for rotating the M by N block which has a same size as a direct memory access buffer used to write the rotated block into the memory.
- 28. A system for manipulating an image, comprising:
means for reading blocks of image data, representing an image, out of memory; means for rotating the blocks of image data so that image data within the blocks is rotated; means for writing into a print buffer the blocks of image data such that a location of the blocks is rotated with respect to the orientation of the image stored in memory; and means for printing the blocks of image data which are stored in the printer buffer, after the buffer has M complete main-scan lines of image data.
- 29. A system according to claim 28, wherein the means for reading comprises:
means for reading the blocks of image data which are a size equal to a size of a direct memory access buffer used to read the image data.
- 30. A system for combining images, comprising:
means for reading blocks of image data of a first image; means for reading corresponding blocks of image data of a second image; means for logically combining the corresponding blocks of image data of the first and second images; means for writing into a print buffer the logically combined blocks of image data; means for printing the blocks of image data which are stored in the printer buffer, after the buffer has M complete main-scan lines of image data.
- 31. A system according to claim 30, further comprising:
means for rotating the logically combined blocks, before writing the logically combined blocks into the print buffer, wherein the means for writing comprises:
means for writing into the print buffer the blocks of image data which have been rotated and logically combined such that a location of the blocks is rotated with respect to the orientation of the blocks before the blocks are read.
- 32. A system for forming an image having a first end and a second end which is perpendicular to the first end, comprising:
means for selecting a section of an image; means for dividing the section which has been selected into rows and columns of blocks; means for writing a first row of blocks of the section which has been selected into a memory until the first end of the image to be formed is reached; means for writing in sequence subsequent rows of the section which has been selected into the memory until the first end of the image to be formed is reached for the subsequent rows, and when the image to be formed is not completed to the second end but a last row of the section which has been selected is reached, writing in sequence the rows of the section which has been selected beginning again with the first row of blocks, until the image to be formed is completed to the second end.
- 33. A system according to claim 32, wherein:
each of the means for writing comprises means for writing said rows such that each of said rows contains more than one copy of at least one block of a corresponding row of the selected section of the image.
- 34. A system according to claim 32, wherein:
each of the means for writing comprises means for writing said rows such that ends of said rows have blocks other than ends of the section of the image which has been selected.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is related to commonly owned co-pending U.S. patent applications SN 08/xxx,xxx (Atty. Docket 5244-0086-2X) entitled “Digital Copier with Scalable Architecture,” and SN 08/xxx,xxx (Atty. Docket 5244-0087-2X) entitled “Digital Copier with an Unified Memory which Stores Computer Instructions and Image Data,” both of which were filed concurrently with the present application and are incorporated herein by reference.
Divisions (2)
|
Number |
Date |
Country |
Parent |
09920952 |
Aug 2001 |
US |
Child |
10219667 |
Aug 2002 |
US |
Parent |
09191113 |
Nov 1998 |
US |
Child |
09920952 |
Aug 2001 |
US |