Programmable Raster Processing for Single-Pass Print Data Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing raster graphics processors are inefficient and costly, requiring serial processing and significant storage space, which limits flexibility and scalability in high-speed printing applications like single-pass inkjet printers, especially when dealing with varying images.
Innovation Solution
A raster graphics processor with a programmable system-on-chip (PSoC) using multiple-instruction-multiple-data-capable processors and vector-based arithmetic logic units processes object-based data in parallel, converting it into pixel data at high speeds and reducing storage needs, enabling efficient and portable data conversion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a raster graphics processor uses serial processing to convert object-based data into pixel data, then the processor can be simpler and less expensive, but the conversion speed becomes insufficient for high-speed printing applications
Solution Approach 1:
The raster graphics processor is divided into multiple independent processing units (first processing unit, second processing unit, etc.) that can operate simultaneously. Each processing unit handles a portion of the conversion task, allowing parallel processing of object-based data into pixel data, thereby increasing conversion speed without requiring a single complex processor
Solution Approach 2:
The patent transitions from serial processing (one-dimensional time sequence) to parallel processing by introducing multiple processing units operating simultaneously. This dimensional change from single-threaded to multi-threaded architecture enables the system to handle high data rates required by single-pass inkjet printers while maintaining individual processor simplicity
2Speed
If a raster graphics processor processes data serially, then the storage space requirement is reduced, but the printer cannot consume print data fast enough during high-speed operation
Solution Approach 1:
The processing task is segmented across multiple processing units that operate in parallel, each contributing to the overall data conversion throughput. This segmentation allows the system to match the high data consumption rate of single-pass inkjet printers by distributing the processing workload across multiple simultaneous operations
Solution Approach 2:
The multiple processing units enable continuous and uninterrupted data conversion to match the printer's high data consumption rate. While one processing unit is converting data, others are ready to process the next portions, ensuring continuous useful action without idle time, thereby maintaining synchronization with the printer's fast data consumption
3Manufacturing precision
If a raster graphics processor uses complex rasterization algorithms, then the image quality is improved, but the processing time increases significantly
Solution Approach 1:
The complex rasterization algorithm is segmented and distributed across multiple processing units, with each unit handling a specific portion of the image conversion. This allows the complex algorithm to be executed in parallel rather than sequentially, maintaining image quality while significantly reducing total processing time
Solution Approach 2:
Each processing unit performs a partial conversion task focused on specific portions of the data or image. By completing partial actions simultaneously across multiple units, the system achieves the same overall image quality conversion much faster than a single processor would require
Data Source
AI summary
A method, preferably a computer-implemented method, for synthesizing m-bit print data and for providing the data to a printer, the method including: a) inputting object-based data of at least one image in the form of a page description language into a raster image processor having at least one system-on-chip comprising a plurality of processors; b) converting the object-based data into n-bit pixel data of each color channel of a first target color space with a predefined image resolution by providing the object-based data to some or to all of the plurality of processors and processing the data in parallel by means of the processors; c) converting the n-bit pixel data of each color channel into m-bit print data of each color channel of a second target color space by means of at least one dithering algorithm and storing or buffering the m-bit print data in an output memory; d) providing the m-bit print data to the printer and printing on at least one print medium by means of the printer. The system-on-chip is provided as a programmable system-on-chip and the processors are provided as single-instruction-multiple-data-capable or multiple-instruction-multiple-data-capable processors each having at least one vector-based arithmetic logic unit, which vector-based arithmetic logic units have each been configured in such a way that, during the parallel processing according to step b), a plurality of object-based data entering the relevant arithmetic logic unit in parallel, each having a bit width of x-bit, is converted using a predefined set of arithmetic operations into pixel data having a bit width of y-bit, which is greater than the bit width of x-bit, wherein subsequently the y-bit pixel data in the form of a pixel matrix consisting of an integer number of n-bit pixel data is stored or buffered in a pixel memory.