Browse Prior Art Database

Dual Speed Pipelined Print Data Decompressor Disclosure Number: IPCOM000019780D
Original Publication Date: 2003-Sep-29
Included in the Prior Art Database: 2003-Sep-29
Document File: 7 page(s) / 177K

Publishing Venue



Disclosed is an electronic mechanism that decompresses a compressed print data stream. This mechanism automatically detects approaching overrun and underrun conditions. It switches between the slow speed non-pipelined mode and the high speed fully pipelined mode as needed to maximize the decompression efficiency while avoiding overrun or underrun.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 22% of the total text.

Page 1 of 7

Dual Speed Pipelined Print Data Decompressor


A typical data path for an IBM black-on-white high-end production printer will consist of three major sections.

1. An input buffer to receive the compressed print data from an input interface. This buffer is used to isolate the input interface from the decompressor. This enables higher data throughput since the input interface and the decompressor typically don't have to wait on each other since they can operate independently.

2. A decompressor to take compressed print data from the input buffer and perform the decompression function.

3. An output buffer to receive print data from the decompressor and an interface to transfer this data to the PQE (print quality enhancement) board. The buffer function is required for multi-beam printers because data are received and decompressed in scan line order but must be reordered before it is sent to the PQE board. The PQE board needs to simultaneously receive a byte from each beam's data stream. The output buffer also isolates the operation of the decompressor from the print head.

Prior Art

The white space compression scheme for the Infoprint 4100 HD3/4 is the same as was used on all recent prior continuous form production printer products. Therefore, the decompression algorithm is also the same. The prior decompression hardware was able to perform the decompression operation synchronously at a speed of 16-MHz without pipelining the process. This design was "tweaked" to run at 20-MHZ for the five-beam printer.

Design Challenges

This decompressor needed to operate at 50-MHZ - 2.5 times faster than the previous design. The technique employed to enable this high-speed operation is synchronous pipelining. However, this pipelining approach created the next challenge. The input buffer's empty status and the output buffer's full status become disconnected from the control mechanism because of the timing delay introduced by the pipe.

Synchronous Pipeline Delay Problem

When the decompressor uses the data currently available from the input buffer, a buffer read operation must be completed as quickly as possible.

During clock period #1, the decompressor looks at the buffer empty signal and sees that the buffer is not empty. The function then decides to use the currently available data and send the command to read the next data from the buffer. During clock period #2, the read command is activated. During clock period #3, the address is changed. During clock period #4, the data and

Page 2 of 7

status flags from the buffer become valid. This took three clock periods to complete all operations related to the access of a single word of data. However, due to the pipelining technique this sequence can be repeated every clock cycle. Therefore, on average, it only takes a single clock period to access a word of data. The problem occurs because an empty status flag can't be seen by the control function until three clock cycles after the decision is made to...