Compressing/decompressing bitmap by performing exclusive- or operation setting differential encoding of first and previous row therewith outputting run-length encoding of row
First Claim
1. A method in a computer system for compressing a bitmap, the bitmap having data organized into rows, each row having a number of bits, each bit having a 0-bit value or a 1-bit value, the method comprising:
- outputting an indication of the value of each bit in a first row of data; and
for each subsequent row of the bitmap, generating an interim row having the number of bits by performing an exclusive OR operation on the row, thereby setting the bit value of each bit in the interim row to a differential encoding of a corresponding bit in the row and of a corresponding bit in a previous row; and
outputting a run-length encoding of the bits of the interim row.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for compressing bitmap data in a system for sharing an application running on a host computer with a remote computer, wherein the shared application'"'"'s screen output is simultaneously displayed on both computers. Simultaneous display of screen output is achieved by efficiently transmitting display data between the host computer and the remote computer. When a font used by the host computer for displaying text is not available on the remote computer, the host computer sends a bitmap representation of the text for display, rather than the text itself. Bitmap representations are cached by the remote computer, so that the same bitmap representation need not be repeatedly transmitted from the host computer to the remote computer. Bitmap representations are compressed by the host computer prior to transmission, transmitted, then decompressed by the remote computer.
-
Citations
34 Claims
-
1. A method in a computer system for compressing a bitmap, the bitmap having data organized into rows, each row having a number of bits, each bit having a 0-bit value or a 1-bit value, the method comprising:
-
outputting an indication of the value of each bit in a first row of data; and
for each subsequent row of the bitmap,generating an interim row having the number of bits by performing an exclusive OR operation on the row, thereby setting the bit value of each bit in the interim row to a differential encoding of a corresponding bit in the row and of a corresponding bit in a previous row; and
outputting a run-length encoding of the bits of the interim row. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24)
-
-
13. A method in a computer system for decompressing a compressed bitmap, the bitmap having data organized into rows, each row having a number of bits, each bit having a 0-bit value or a 1-bit value, the compressed bitmap including an indication of the value of each bit in the first row of data and for each subsequent row of the bitmap, a run-length encoding of bit values of an interim row previously generated by performing an exclusive OR differential encoding routine on the a corresponding bit in the row and of a corresponding bit in a previous row, the method comprising:
-
outputting an indication of the value of each bit in the first row; and
for each subsequent row of the bitmap, generating an interim row represented by the run-length encoding for that row; and
outputting a reversal of the exclusive OR differential encoding of the bit value for each bit of the interim row with a previous row. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer-readable storage device containing instructions for controlling a computer system to compress a bitmap, the bitmap having data organized into rows, each row having a number of bits, each bit having a 0-bit value or a 1-bit value, by:
-
outputting a run-length encoding of the first row of data;
for each row of the bitmap except for the first row, generating an interim row having the number of bits by setting the bit value of each bit in the interim row to the exclusive-OR of a corresponding bit in the row and of a corresponding bit in a previous row; and
outputting a run-length encoding for each interim row of data. - View Dependent Claims (19, 20, 21, 22, 23, 25, 26, 27, 28)
-
-
29. A computer system for compressing a bitmap, the bitmap having data organized into row, each row having a number of bits, each bit having a 0-bit value or a 1-bit value, comprising:
-
a first component that outputs an indication of the value of each bit in the first row of data; and
a second component that, for each other row of the bitmap, generates an interim row having the number of bits by performing an exclusive OR operation on the row, thereby setting the bit value of each bit in the interim row to a differential encoding of a corresponding bit in the row and of a corresponding bit in a previous row and outputs a run-length encoding of the bits of the interim row of data. - View Dependent Claims (30, 31)
-
-
32. A computer-readable medium containing a compressed bitmap, the bitmap having data organized into rows, each row having bits, each bit having a 0-bit value or a 1-bit value, comprising:
-
an indication of the value of each bit in a first row of data; and
for each other row of data, a run-length encoding of bits that were generated by performing an exclusive OR operation on the row to differentially encode a corresponding bit in the row and a corresponding bit of another row. - View Dependent Claims (33, 34)
-
Specification