Edge delta runlength expander unit for bi-level graphics
View Patent ↗Edge delta runlength (EDRL) compression algorithms may be employed to compress bi-level black print data, such as data representing text. A printer capable of rapidly decoding the compressed EDRL data includes a decoding circuit to produce delta signals. An edge calculation circuit in turn operates on the delta signals to produce runlength data which is subsequently transformed into image line data by a runlength decoder circuit.
1. An expander circuit to produce image line data utilizing an edge delta runlength (EDRL) encoded data stream, including:
an input data stream decoding circuit arranged to produce delta signals utilizing the edge delta runlength encoded data stream and data indicating page width;
an edge calculation circuit arranged to generate runlength data utilizing the delta signals; and
a runlength decoder responsive to the edge calculation circuit and arranged to decode a runlength data to produce the image line data.
2. An expander circuit according to claim 1 , wherein the input data stream decoding circuit includes an EDRL stream decoder responsive to the edge data encoded data stream.
3. An expander circuit according to claim 2 , wherein the input data stream decoding circuit includes an EDRL state machine in communication with EDRL decoder.
4. An expander circuit according to claim 3 , wherein the edge calculation circuit includes a comparator to produce an end-of-line signal utilizing the data indicating page width.
5. An expander circuit according to claim 4 , wherein the EDRL state machine is responsive to the end-of-line signal.
6. An expander circuit according to claim 4 , wherein the edge calculation circuit includes memory devices to store values indicating an edge offset and a line.
7. An expander circuit according to claim 6 , wherein the edge calculation circuit is arranged to calculate the runlength data on the basis of a delta signal and a stored value indicating edge offset and a stored value indicating current line.
8. An expander circuit according to claim 6 , wherein the edge calculation circuit derives the value indicating a current edge utilizing a previous runlength signal.
9. An expander circuit according to claim 8 , including a circuit that outputs a previous runlength signal.
10. An expander circuit according to claim 9 , wherein the circuit to make available the previous runlength signal comprises a memory device coupled to the output of the edge calculation circuit to store said previous runlength signals.
11. An expander circuit according to claim 9 , wherein the circuit to make available the previous runlength signal comprises:
a runlength decoder coupled to the output of the edge calculation circuit;
a memory device responsive to the runlength decoder to store runlength decoder output; and
a runlength encoder coupled to the memory device to regenerate said previous runlength signal.
12. A printer including a micromechanical pagewidth printhead, the printer further including an expander circuit according to claim 8 .
13. A printer including an expander circuit according to claim 1 .
14. An expander circuit according to claim 1 , including a multiplier circuit to multiply a runlength signal by a value stored in a memory indicating scale factor prior to processing by the runlength decoder.