Method for compressing digital data
First Claim
1. Method for efficiently transmitting and/or storing data representing an image, comprising the steps of:
- a) scanning an image to obtain an original bit stream representative of the image;
b) dividing the original bit stream into a plurality of data blocks;
c) comparing each data block for one of either a match or a mismatch with a reference block having a predetermined bit pattern;
d) forming a coded bit stream comprising an ordered sequence of a plurality of data blocks and compressed blocks and an index block, as follows;
when a data block in the original stream is a mismatch with the reference block, including the data block as is and including an index bit indicating a mismatch in the index block; and
when a data block in the original bit stream is a match with the reference block, including a compressed block indicating the number (N+b) where N is the number of data blocks that are adjacent and match the compared data block and "b" is an integer greater than or equal to 1, and including an index bit in the index block indicating a match;
e) storing and/or transmitting the coded bit stream; and
f) decoding the coded bit stream to obtain the original bit stream.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for compressing digital data from an original bit stream into a coded bit stream useful for facsimile data transmission and digitized document image storage. The method comprises the steps of dividing the original bit stream into a plurality of data blocks and then comparing each of the data blocks with a reference block having a predetermined bit pattern. A coded bit stream is formed that comprises data blocks, compressed blocks and index blocks according to the following procedure. When a data block in the original bit stream is a mismatch with the reference block, the data block is included as is, without modification, in the coded bit stream along with an index bit indicating a mismatch in the index block. When a data block in the original bit stream is matched to the reference block, then compressed block is included in the coded bit stream along with an index bit in the index block indicating that the data block is matched. The compressed block indicates the number plus one of matching data blocks that are adjacent to the compared data blocks.
In the preferred embodiment two reference blocks are described and the comparison step is performed with each one. Additional reference blocks can also be used.
-
Citations
15 Claims
-
1. Method for efficiently transmitting and/or storing data representing an image, comprising the steps of:
-
a) scanning an image to obtain an original bit stream representative of the image; b) dividing the original bit stream into a plurality of data blocks; c) comparing each data block for one of either a match or a mismatch with a reference block having a predetermined bit pattern; d) forming a coded bit stream comprising an ordered sequence of a plurality of data blocks and compressed blocks and an index block, as follows; when a data block in the original stream is a mismatch with the reference block, including the data block as is and including an index bit indicating a mismatch in the index block; and when a data block in the original bit stream is a match with the reference block, including a compressed block indicating the number (N+b) where N is the number of data blocks that are adjacent and match the compared data block and "b" is an integer greater than or equal to 1, and including an index bit in the index block indicating a match; e) storing and/or transmitting the coded bit stream; and f) decoding the coded bit stream to obtain the original bit stream. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. Method for efficiently transmitting and/or storing data representing an image, comprising the steps of:
-
a) scanning an image to obtain an original bit stream representative of the image; b) dividing the original bit stream into a plurality of data blocks; c) comparing each data block for one of either a match or a mismatch with two differing reference blocks, each reference block having a predetermined bit pattern; d) forming a coded bit stream comprising an ordered sequence of a plurality of M-bit data blocks and compressed blocks and an M-bit index block, as follows; when a data block in the original bit stream is a mismatch with both of the reference blocks, adding a block that matches said mismatching data block to the coded bit stream and adding an index bit indicating a mismatch to the index block; and when a data block in the original bit stream is a match with one of the reference blocks, adding a compressed block indicating the matched reference block and the number (N+b) where N is the number of data blocks that are adjacent and match the compared data block and "b" is an integer greater than or equal to 1, and adding an index indicating a match to the index block; e) storing and/or transmitting the coded bit stream; and f) decoding the coded bit stream to obtain the original bit stream. - View Dependent Claims (8)
-
-
9. Method for efficiently transmitting and/or storing data representing an image, comprising the steps of:
-
a) scanning an image to obtain an original bit stream representative of the image; b) dividing the original bit stream into a plurality of data blocks; c) comparing each data block for one of either a match or a mismatch with a reference block having a predetermined bit pattern; and d) forming a coded bit stream comprising an ordered sequence of a plurality of M-bit data blocks and compressed blocks and an M-bit index block, as follows; when a data block in the original bit stream is a mismatch with the reference block, including the data block as is and including an index bit indicating a mismatch in the index block; and when a data block in the original bit stream is a match with the reference block, including a compressed block indicating the number (N+b) where N is the number of data blocks that are adjacent and match the compared data block and "b" is an integer greater than or equal to 1, and including an index bit in the index block indicating a match. - View Dependent Claims (10, 11)
-
-
12. Method for efficiently transmitting and/or storing data representing an image, comprising the steps of:
-
a) scanning an image to obtain an original bit stream representative of the image; b) dividing the original bit stream into a plurality of data blocks; c) comparing each data block for one of either a match or a mismatch with two differing reference blocks, each reference block having a predetermined bit pattern; d) forming a coded bit stream comprising an ordered sequence of a plurality of M-bit data blocks and compressed blocks and an M-bit index block, as follows; when a data block in the original bit stream is a mismatch with both of the reference blocks, adding a block that matches said mismatching data block to the coded bit stream and adding an index bit indicating a mismatch to the index block; and when a data block in the original bit stream is a match with one of the reference blocks, adding a compressed block indicating the matched reference block and the number (N+b) where N is the number of data blocks that are adjacent and match the compared data block and "b" is an integer greater than or equal to 1, and adding an index bit indicating a match to the index block. - View Dependent Claims (13, 14)
-
-
15. Apparatus for efficiently transmitting and/or storing data representing an image, comprising:
-
a) means for scanning an image to obtain an original bit stream representative of the image; b) means for dividing the original bit stream into a plurality of data blocks; c) means for comparing each data block for one of either a match or a mismatch with a reference block having a predetermined bit pattern; d) means for forming a coded bit stream comprising an ordered sequence of a plurality of data blocks and compressed blocks and an index block, as follows; when a data block in the original stream is a mismatch with the reference block, including the data block as is and including an index bit indicating a mismatch in the index block; and when a data block in the original bit stream is a match with the reference block, including a compressed block indicating the number (N+b) where N is the number of data blocks that are adjacent and match the compared data block and "b" is an integer greater than or equal to 1, and including an index bit in the index block indicating a match; e) means for storing and/or transmitting the coded bit stream; and f) means for decoding the coded bit stream to obtain the original bit stream.
-
Specification