Adaptive Compression (Method 5)

Adaptive compression enables the combined use of any of the four previous compression methods (0 through 3), and it includes the ability to print empty (all zeros) rows or to duplicate rows.

Adaptive compression interprets a raster image as a block of raster data rather than as individual rows. The result of this interpretation is that the Transfer Raster Data (EC*b#W) command is sent only once at the beginning of a raster data transfer, and the value field (#) identifies the number of bytes in the block (all rows). For the other compression methods, the Transfer Raster Data command is sent at the beginning of each row and the value field (#) identifies the number of bytes for that row only.

The size of a block is limited to 32,767 bytes. (32,767 bytes is the number of compressed bytes and not the size of the uncompressed data). To transfer greater than 32,767 bytes, send multiple blocks.

Adaptive compression uses three control bytes at the beginning of each row within the block. The first of these bytes, the command byte, identifies the type of compression for the row. The two following bytes identify the number of bytes or rows involved. The format for adaptive compression raster rows is shown below:

<command byte><# of bytes/rows - upper byte><# of bytes/rows - lower byte> ...

...<first raster row byte>...<last raster row byte>

The command byte designates the compression method, empty row, or row duplication. Command byte values are shown below.

Table 15-9

Value

Compression Operation

 

 

 

0

-

Unencoded

 

 

 

1

-

Run-Length Encoding

 

 

 

2

-

Tagged Image File Format (TIFF) rev 4.0

 

 

 

3

-

Delta row

 

 

 

4

-

Empty row

 

 

 

5

-

Duplicate row

 

 

 

EN

Set Compression Method Command 15-25

Page 333
Image 333
HP 5961-0509 manual Adaptive Compression Method, Value Compression Operation