Claims
- 1. A method for reducing the size of a binary image in a general-purpose computer comprising the steps of:
- storing said binary image in bit sequence in said computer
- dividing said image into transposable blocks of n.times.i bits
- transposing for each block, each string of n bits along a first axis to a string of m bits along a second axis where m is less than n;
- transposing for each transposed block, each string of i bits along said first axis to a string of j bits along said second axis, where j is less than or equal to i; and
- storing said transposed blocks.
- 2. A method according to claim 1 wherein said transposing steps are accomplished by table lookup.
- 3. A method according to claim 1 wherein n equals 6 and m equals 5.
- 4. A method according to claim 1 further comprising the step of testing each block for all bits of the same binary value.
- 5. A method according to claim 4 further comprising the step of omitting the transposing of each block having all bits of the same binary value.
- 6. A method according to claim 1 wherein n=i and m=j.
- 7. A method according to claim 2 wherein said table lookup for said block transposing step comprises:
- a first lookup table and i-1 successive lookup tables with each of said successive lookup tables having their values shifted successively left by one bit.
- 8. A method according to claim 2 wherein said table lookup for said transposed block transposing step comprises:
- a first lookup table and m-1 successive lookup tables with each of said successive lookup tables having their values shifted successively left by one bit.
- 9. A method according to claim 3 wherein said transposing of each string of n bits comprises the steps of:
- removing the third bit in said string if no run is destroyed thereby; otherwise,
- removing one bit from any run in a string longer than all the other runs; otherwise,
- if there are two two-bit runs not spaced equidistant from the center of the string, shortening the two-bit run closer to the center of the string by one bit; otherwise,
- if there are two two-bit runs of different color equidistant from said center, shortening the run of zero bits by one bit; otherwise,
- removing the zero bit nearest said center.
- 10. A computerized system for reducing the size of a binary image comprising:
- means for storing said binary image in bit sequence;
- means for dividing said image into transposable blocks of n.times.i bits;
- means for transposing in each block, a string of n bits along a first axis to a string of m bits along a second axis, where m is less than n;
- means for transposing for each transposed block, each string of i bits along said first axis to a string of j bits along said second axis, where j is less than or equal to i; and
- means for storing said transposed blocks.
- 11. A system as in claim 10 further comprising means for testing each block for all bits of the same binary value.
- 12. A system as in claim 11 further comprising means for omitting the transposition of each block having all bits of the same binary value.
- 13. A system as in claim 10 wherein both of said transposing means comprise a plurality of lookup tables.
- 14. A system as in claim 13 wherein said lookup tables for said block transposing means comprise:
- a first lookup table and i-1 successive lookup tables with each of said successive lookup tables having their values shifted successively left by one bit.
- 15. A system as in claim 13 wherin said lookup tables for said transposed block transposing means comprise:
- a first lookup table and m-1 successive lookup tables with each of said successive lookup tables having their values shifted successively left by one bit.
- 16. A method for reducing the size of a binary image in a general-purpose computer comprising the steps of:
- storing said binary image in bit sequence in said computer;
- dividing said image into transposable blocks of bits having i bits on one axis and n bits on the other axis;
- transposing each block by converting the string of n bits along said other axis to a string of m bits along said one axis, where m is less than n;
- transposing each transposed block by converting the string of m bits to said other axis; and
- storing said blocks after the foregoing transpositions.
- 17. A method as in claim 16, further comprising the step of:
- converting each string of i bits to a string of j bits during the transposition of each of said transposed blocks, where j is less than i.
- 18. A method as in claim 16, wherein blocks consisting of bits having all the same binary value are not transposed.
- 19. A method as in claim 16, wherein said transposing of each string of n bits comprises:
- removing bit n/2, where n/2=the nearest integer, in the string, if no run is destroyed thereby; otherwise,
- removing one bit from the longest run in the string, if there is one run that is longer than all the other runs; otherwise,
- shortening by one bit the run of maximum length closest to the center of the string, if such a run exists; otherwise,
- if there are two runs of maximum length and opposite color equidistant from the center of the string, shortening the run of zero bits by one bit.
- 20. A method according to claim 16, wherein said transposing steps are accomplished by table lookup comprising a first lookup table and the greater of i-1 and m-1 successive lookup tables with each of said successive lookup tables having their values shifted successively left by one bit.
RELATED APPLICATION
This is a continuation application based on our earlier co-pending application Ser. No. 06/567,310, filed Dec. 30, 1983, now abandoned.
US Referenced Citations (4)
Foreign Referenced Citations (1)
Number |
Date |
Country |
59-167772 |
Sep 1984 |
JPX |
Non-Patent Literature Citations (2)
Entry |
Boberg--Regridding Method--IBM Tech Discl. Bull., vol. 13, #8, Jan. 1971, pp. 2291-2293. |
Liao--Table Look-up Realization of Digital Filtering--Xerox Discl. Jour., vol. 5, #1-Jan./Feb. 1980, p. 115. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
567310 |
Dec 1983 |
|