Multi-path data processing pipeline
First Claim
1. A data processing pipeline for separately processing a first data stream formed, alternatively, from lossless data including lossless data elements or compressed lossless data including compressed lossless data elements and a second data stream formed, alternatively, from lossy data including lossy data elements or compressed lossy data including compressed lossy data elements, said data processing pipeline using a merge data stream defined by said first data stream and said second data stream and formed of merge data including merge data elements corresponding to, alternatively, said lossless data elements and said lossy data elements or said compressed lossless data elements and said compressed lossy data elements, said data processing pipeline comprising:
- a lossless compressor/decompressor having a first input to receive said first data stream and having a lossless decompressed output and a lossless compressed output, said lossless compressor/decompressor to perform alternatively, lossless compression and lossless decompression to generate a first transformed data stream including alternatively, said compressed lossless data and said decompressed lossless data, said lossless compressor/decompressor includes a configuration to receive said merge data to generate compressed merge data and to receive said compressed merge data to generate decompressed merge data;
a lossy compressor/decompressor having a second input to receive said second data stream and having a lossy decompressed output and a lossy compressed output, said lossy compressor/decompressor to perform alternatively, lossy compression and lossy decompression to generate a second transformed data stream including, alternatively, compressed lossy data and decompressed lossy data;
a direct memory access controller coupled to said lossless compressed output and said lossy compressed output, said direct memory access controller having a third input to receive at least one of said lossless, said compressed lossless, and said decompressed lossless data, said lossy, said compressed lossy, and said decompressed lossy data, and said merge, said compressed merge, and said decompressed merge data, said direct memory access controller includes a configuration to send at least one of said lossless, said compressed lossless, and said decompressed lossless data, and said merge, said compressed merge, and said decompressed merge data to said lossless compressor/decompressor and said direct memory access controller includes a configuration to send at least one of said lossy, said compressed lossy, and said decompressed lossy data to said lossy compressor/decompressor and;
a merge unit configured to receive said first transformed data stream including said decompressed lossless data, said second transformed data stream including said decompressed lossy data, and said merge data stream, said merge unit to merge said first transformed data stream and said second transformed data stream into an output data stream using said merge data stream.
2 Assignments
0 Petitions
Accused Products
Abstract
A print data processing pipeline for use in a color electrophotographic printer optimizes print quality and minimizes memory usage by separately processing lossy and lossless print data. Lossy print data may include print data or images and lossless print data may include print data for text, line art, and graphics. Partitioning print data into lossy and lossless components allows application of the print data compression operations optimized for each type of print data. High compression ratios can be achieved on lossy print data by applying visually lossless compression operations designed for the lossy print data. In addition, high compression ratios can be achieved on the lossless print data by applying lossless compression operations designed for the lossless print data. A merge unit combines the lossy and lossless print data streams after decompression to reconstruct the original image. Placement of the color space conversion operation and the halftone operation relative to the merge operation, further optimizes the print quality while minimizing memory usage. The print data processing pipeline includes a direct memory access controller which has the capability to allow print data to be selectively directed to the lossy or lossless compressor/decompressor, the color space converter, or the merge unit. Feedback paths within the print data processing pipeline allow the results of the various operations performed to be returned to the direct memory access controller for further processing or storage in system memory. Bypass paths in the color space converter and halftone unit allow print data to be selectively directed around these operations. These capabilities allow configuration of the print data processing pipeline to perform a multitude of permutations of print data processing operations optimized for the print data.
121 Citations
18 Claims
-
1. A data processing pipeline for separately processing a first data stream formed, alternatively, from lossless data including lossless data elements or compressed lossless data including compressed lossless data elements and a second data stream formed, alternatively, from lossy data including lossy data elements or compressed lossy data including compressed lossy data elements, said data processing pipeline using a merge data stream defined by said first data stream and said second data stream and formed of merge data including merge data elements corresponding to, alternatively, said lossless data elements and said lossy data elements or said compressed lossless data elements and said compressed lossy data elements, said data processing pipeline comprising:
-
a lossless compressor/decompressor having a first input to receive said first data stream and having a lossless decompressed output and a lossless compressed output, said lossless compressor/decompressor to perform alternatively, lossless compression and lossless decompression to generate a first transformed data stream including alternatively, said compressed lossless data and said decompressed lossless data, said lossless compressor/decompressor includes a configuration to receive said merge data to generate compressed merge data and to receive said compressed merge data to generate decompressed merge data; a lossy compressor/decompressor having a second input to receive said second data stream and having a lossy decompressed output and a lossy compressed output, said lossy compressor/decompressor to perform alternatively, lossy compression and lossy decompression to generate a second transformed data stream including, alternatively, compressed lossy data and decompressed lossy data; a direct memory access controller coupled to said lossless compressed output and said lossy compressed output, said direct memory access controller having a third input to receive at least one of said lossless, said compressed lossless, and said decompressed lossless data, said lossy, said compressed lossy, and said decompressed lossy data, and said merge, said compressed merge, and said decompressed merge data, said direct memory access controller includes a configuration to send at least one of said lossless, said compressed lossless, and said decompressed lossless data, and said merge, said compressed merge, and said decompressed merge data to said lossless compressor/decompressor and said direct memory access controller includes a configuration to send at least one of said lossy, said compressed lossy, and said decompressed lossy data to said lossy compressor/decompressor and; a merge unit configured to receive said first transformed data stream including said decompressed lossless data, said second transformed data stream including said decompressed lossy data, and said merge data stream, said merge unit to merge said first transformed data stream and said second transformed data stream into an output data stream using said merge data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A print data processing pipeline for separately processing a first print data stream formed, alternatively, from lossless data including lossless data elements or compressed lossless data including compressed lossless data elements and a second print data stream formed, alternatively, from lossy data including lossy data elements or compressed lossy data including compressed lossy data elements, said print data processing pipeline using a merge data stream defined by said first print data stream and said second print data stream and formed of merge data including merge data elements corresponding to, alternatively, said lossless data elements and said lossy data elements or said compressed lossless data elements and said compressed lossy data elements, said print data processing pipeline comprising:
-
a lossless compressor/decompressor having a first input to receive, said first print data stream and having a lossless decompressed output and a lossless compressed output, said lossless compressor/decompressor to perform alternatively, lossless compression and lossless decompression to generate a first transformed print data stream including, alternatively, said compressed lossless data and said decompressed lossless data said lossless compressor/decompressor includes a configuration to receive said merge data to generate compressed merge data and to receive said compressed merge data to generate decompressed merge data; a lossy compressor/decompressor having a second input to receive said second print data stream and having a lossy decompressed output and a lossy compressed output, said lossy compressor/decompressor to perform alternatively, lossy compression and lossy decompression to generate a second transformed print data stream including, alternatively, compressed lossy data and decompressed lossy data; a direct memory access controller coupled to said lossless compressed output and said lossy compressed output, said direct memory access controller having a third input to receive at least one of said lossless, said compressed lossless, and said decompressed lossless data, said lossy, said compressed lossy, and said decompressed lossy data, and said merge, said compressed merge, and said decompressed merge data, said direct memory access controller includes a configuration to send at least one of said lossless, said compressed lossless, and said decompressed lossless data, and said merge, said compressed merge, and said decompressed merge data to said lossless compressor/decompressor and said direct memory access controller includes a configuration to send at least one of said lossy, said compressed lossy, and said decompressed lossy data to said lossy compressor/decompressor and; a merge unit configured to receive said first transformed print data stream including said decompressed lossless data, said second transformed print data stream including said decompressed lossy data, and said merge data stream, said merge unit to merge said first transformed print data stream and said second transformed print data stream into an output data stream using said merge data stream. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A printer, comprising:
-
a processor to generate a first print data stream formed, alternatively, from lossless data including lossless data elements or compressed lossless data including compressed lossless data elements, a second print data stream formed, alternatively, from lossy data including lossy data elements or compressed lossy data including compressed lossy data elements and to generate a merge data stream defined by said first print data stream and said second print data stream and formed of merge data including merge data elements corresponding to, alternatively, said lossless data elements and said lossy data elements or said compressed lossless data elements and said compressed lossy data elements; a direct memory access controller configured to receive said first print data stream, said second print data stream, and said merge data stream from said processor; a lossless compressor/decompressor having a first input to receive said first print data stream from said direct memory access controller and having a lossless decompressed output and a lossless compressed output, said lossless compressor/decompressor to perform alternatively, lossless compression and lossless decompression to generate a first transformed print data stream including, alternatively, said compressed lossless data and said decompressed lossless data, said lossless compressor/decompressor includes a configuration to receive said merge data to generate compressed merge data and to receive said compressed merge data to generate decompressed merge data; a lossy compressor/decompressor having a second input to receive said second print data stream from said direct memory access controller and having a lossy decompressed output and a lossy compressed output, said lossy compressor/decompressor to perform alternatively, lossy compression and lossy decompression transform on said print data elements of said second one of said plurality of print to generate a second transformed print data stream including, alternatively, compressed lossy data and decompressed lossy data; a page strip manager coupled to said lossless decompressed output, said lossy decompressed output, and said direct memory access controller;
said page strip manager having a first lossless output, a first lossy output, and a merge data output;a merge unit coupled to the merge data output and configured to receive said first transformed print data stream including said decompressed lossless data, said second transformed print data stream including said decompressed lossy data, and said merge data stream, said merge unit to merge said first transformed print data stream and said second transformed print data stream into an output print data stream using said merge data stream; and a color space converter coupled to said first lossless output and said first lossy output, said color space converter having a second lossless output and a second lossy output coupled to said merge unit. - View Dependent Claims (17, 18)
-
Specification