Method and product for synthesizing and providing print data to a printer - Patents.com
Patent Information
- Application Number
- JP2024516774
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-10-18
- Filing Date
- 2022-09-09
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2042-09-09
AI Technical Summary
Existing raster graphics processors are inefficient and costly, leading to slow conversion speeds and high storage requirements for converting object-based data to pixel data, limiting flexibility and scalability in high-performance printing applications.
A raster graphics processor with a programmable system-on-chip (PSoC) utilizing multiple single-instruction multiple-data or multiple-instruction multiple-data capable processors, each equipped with vector-based arithmetic logic units, processes object-based data in parallel to convert it into pixel data efficiently, using a dithering algorithm and buffering in a pixel memory.
This approach significantly reduces processing time, lowers energy consumption, and reduces storage needs, enabling high-speed data processing and portability while maintaining high print quality and flexibility in printing operations.
Abstract
Description
[Technical field]
[0001] The present invention relates to a method and product for synthesizing print data from object-based data in the form of a page description language and providing it to a printer. [Background technology]
[0002] Here, some terms used in this specification will be defined in advance.
[0003] When this description refers to object-based data in the form of a page description language, this refers to the objects and their properties that make up the image. The term object is understood to mean a graphic primitive, a pixel field, a shading, a transparency, or a font. In this application, basic one- or two-dimensional geometric shapes are called graphic primitives. A graphic primitive is described, among other things, by one or more vectors. A two-dimensional geometric shape is, for example, a circle, an oval, or a polygon, such as a rectangle, a square, a triangle. On the other hand, a one-dimensional geometric shape is, for example, a drawing of a point, i.e. a pixel, a line, or a polynomial. When the properties of an object are described in the context of this specification, this refers to the position of the object in the image and, if applicable, its color, line width, fill pattern, and other data that determine its appearance.
[0004] The term programmable system-on-chip, also referred to as PSoC in the following, means in this description that it is possible to program and reprogram the system-on-chip, i.e. to design and redesign, in particular its functional modules, both at the hardware and at the software level.
[0005] Methods of converting vector graphics object-based data to raster graphics pixel data typically represent the first step towards synthesis of print data based on what printers are capable of printing on the print medium. Most of these methods today utilize raster graphics processors designed to dither the resulting pixel graphic using a predefined algorithm, so that a complete conversion of the vector graphic to a raster graphic is usually required before it can be passed to the printer as a dithered print graphic. This is certainly true when it comes to complex vector graphics.
[0006] Such raster graphics processors are cheap to purchase, but because they process input data inefficiently and therefore tediously, they are only suitable when the printer can and should print a single image in a large print run where there is enough time to rasterize another vector graphic.
[0007] The problem that causes a slow conversion speed, i.e. rasterization speed, is the fact that such methods use raster graphics processors, which have processors that can only perform complex rasterization sequentially.
[0008] It is very important that the conversion of object-based data from vector graphics to pixel graphics can be performed as quickly as possible to allow a sufficiently high level of flexibility with regard to short-term changes in preparing a print job.
[0009] The reason why today in single pass printers with relatively high print resolution, most of the images to be printed must be rasterized well in advance is because the printer consumes the print image data faster than a typical raster graphics processor can process the vector graphics that are the basis of this print image data. This means that there is no flexibility with regard to short-term changes in the preparation of the print job. This is especially true when print jobs must be converted that have a high percentage of image diversity, where no image is identical to any other image.
[0010] A typical high-performance printing machine, i.e. a single-pass inkjet printer, today consumes print data at a rate of at least 100 Gbit / s, but often at rates of over 300 or even 400 Gbit / s, and the trend is growing. For a single-pass inkjet printer intended to be able to print on a print medium with a width of 2 meters at a speed of 5 meters per second at a resolution of 1200 x 1200 DPI without stopping production, a data output rate of about 1600 Gbit / s is required when converting vector graphics to raster graphics, if the variety of images contained in the print job is high and the conversion is essentially simultaneous with the printing process.
[0011] A further challenge for most common raster graphics processors is providing sufficient storage space.
[0012] For a single pass printer with a width of 2.6m and printing at 2400DPI resolution, this is approximately 16GByte / m 2For example, if print data is provided in advance to run the printer 24 hours a day, storage capacity must be provided for approximately 8 petabytes of print data per day. Today, this requires several storage cabinets. For most serial raster graphics processors currently available on the market, it would take several days to rasterize such a large amount of data.
[0013] In the context of this description, a single pass printer is understood to mean a printing press having a printing module for printing at least one printing medium, in which in the operating mode of the printing press, the or each printing medium is moved continuously and the printing module looks only once for each area of the or each printing medium that it sees, the printing module being arranged stationary.
[0014] A method of combining print data and feeding it to a single pass printer, though little used these days, involves the rapid conversion of the object-based data to 8-bit pixel data using new high performance raster graphics processors that output rasterized pixel data at output rates in excess of 800 Gbit / s, which is accomplished by feeding the object-based data to multiple processors and delegating them in parallel, i.e. simultaneously, each single image from a group of multiple images to a different processor of the raster graphics processor for conversion, so that the multiple processors process the different images in parallel but serially.
[0015] This prior art method includes the following steps: (A) inputting object-based data from a plurality of images in the form of a page description language into a raster graphics processor having at least one system-on-chip with a plurality of processors; (B) providing the object-based data to the processor and processing them in parallel by the processor to convert the object-based data into 8-bit pixel data for each color channel of a first target color space having a specified image resolution; (C) converting the 8-bit pixel data for each color channel into 1-bit print data for each color channel of a second target color space using at least one dithering algorithm and storing the 1-bit print data in an output memory; and (D) providing the print data to a printer and printing at least one print medium with the printer.
[0016] Raster graphics processors with a large number of processors that allow such a method are suitable to solve the drawback of the slow raster speed mentioned above. However, this requires a disproportionate amount of space, since several server racks are required for several server cabinets, which, due to their large weight, can only be moved using a loading device, typically a forklift. They are also prone to failure, have low reliability and are expensive, making them not particularly marketable. These high-performance raster graphics processors currently cost typically between 400,000 and 1 million euros to purchase, depending on the version.
[0017] Therefore, what is needed is a method and product for converting object-based data to pixel data that allows for efficient processing of the object-based data using raster graphics processors of simple and inexpensive design. Summary of the Invention [Problem to be solved by the invention]
[0018] The present invention is therefore based on the objective of specifying a method and product for converting object-based data into pixel data, which allows for efficient processing of the object-based data using a raster graphics processor of simple and cost-effective design, thereby improving the overall process effectiveness as well as the overall system effectiveness in terms of availability, performance and price. The overall effectiveness of equipment is a business metric that can be used to measure the productivity and losses of a technical system. [Means for solving the problem]
[0019] According to the invention, this object is achieved by a method comprising the features of claim 1 and by a product comprising the features of claim 22. The respective dependent claims relate to further advantageous and optionally additional embodiments of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] The present invention is based on the idea of providing a raster graphics processor having at least one programmable system-on-chip comprising several single-instruction multiple-data capable or multiple-instruction multiple-data capable processors each having at least one vector-based arithmetic logic unit, each of which is configured such that, in order to process object-based data in parallel using the processor, several parallel input object-based data, each having a bit-width of X bits, to each arithmetic logic unit are converted into pixel data having a bit-width of Y bits, which is greater than the bit-width of X bits, based on a predetermined set of calculation operations, whereby, in the following, the Y-bit pixel data is buffered in the form of a pixel matrix consisting of an integer number of N-bit pixel data and stored in a pixel memory.
[0021] For clarity, it should be noted that the term "processor", and in particular the term "vector processor", when so used in the present invention or one of its preferred embodiments, refers to a single instruction multiple data capable or multiple instruction capable multiple data capable processor, and in particular a vector processor, of a raster graphics processor programmable system-on-chip.
[0022] It is known that a method, preferably a computer-implemented method, for synthesizing and providing M-bit print data to at least one printer includes the following steps: (a) inputting object-based data of at least one image in the form of a page description language to a raster graphics processor having at least one system-on-chip with multiple processors; (b) converting the object-based data to N-bit pixel data for each color channel of a first target color space having a given image resolution by providing the object-based data to some or all of the multiple processors and processing in parallel with the processors; (c) converting the N-bit pixel data for each color channel to M-bit print data for each color channel of a second target color space using at least one dithering algorithm and buffering or storing the M-bit print data in an output memory; and (d) providing the M-bit print data to the printer and printing at least one print medium with the printer.
[0023] Accordingly, a method according to the present invention is a method, preferably a computer-implemented method, for combining M-bit print data and providing it to at least one printer, the method comprising: a) inputting object-based data for at least one image, preferably a plurality of images, in the form of a page description language in a raster graphics processor having at least one system-on-chip with multiple processors; b) converting the object-based data into N-bit pixel data for each color channel of a first target color space having a specified image resolution by providing the object-based data to some or all of a plurality of processors and processing them in parallel using the processors; c) converting the N-bit pixel data for each color channel into M-bit print data for each color channel of the second target color space using at least one dithering algorithm and buffering or storing the M-bit print data in an output memory; d) providing the M-bit print data to at least one printer and printing the at least one print medium with the printer.
[0024] According to the present invention, a 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, each of which is configured to convert, during the parallel processing according to step b), several object based data each having a bit width of X bits, which are input in parallel, i.e. simultaneously, to the respective arithmetic logic unit, using a predetermined set of calculation operations, into pixel data having a bit width of Y bits which is greater than the bit width of X bits, whereby, in the following, the Y bit pixel data is buffered in the form of a pixel matrix consisting of an integer number of N bit pixel data and stored in the pixel memory.
[0025] As a result, the PSoC is designed such that its processor has parallel access to the pixel memory of the PSoC, which allows high data access rates. In addition to the above advantages, the method according to the invention also provides the advantage that, at least during conversion, the method can be operated with low energy consumption despite high data processing rates.
[0026] As a result, the raster graphics processor can be or can be designed to be portable, even if it is designed to generate N-bit pixel data at a rate of at least 800 Gbit / s, preferably at least 2500 Gbit / s, by providing the raster graphics processor with a sufficiently large number of programmable systems-on-chips, each of which comprises a sufficient number of single-instruction multiple-data capable or multiple-instruction multiple-data capable processors, preferably vector processors, according to step b). This is possible because PSoC is inherently very compact. For example, such a portable raster graphics processor can be realized by providing at least eight "Adaptive Computer Acceleration Platforms" of the "Premium Series" type as PSoC from Xilinx. As used herein, the term "portable" means that the raster graphics processor can be easily held and carried in one or both hands of a user. These further developments therefore provide the advantage that easier handling and movement of the raster graphics processor according to the invention becomes possible.
[0027] Each single instruction multiple data or multiple instruction multiple data processor may include multiple vector based arithmetic logic units.
[0028] The single instruction multiple data or multiple instruction multiple data processor may be provided as a single instruction multiple data or multiple instruction multiple data vector processor.
[0029] The object-based data may include object-based PDF data and / or object-based PostScript data, each in the form of a vector-based page description language.
[0030] According to a preferred embodiment, a subtractive color space, preferably including at least the cyan blue (C), magenta red (M), yellow (Y) and black (K) color channels, is specified as a first target color space, and a subtractive color space, preferably including at least the cyan blue (C), magenta red (M), yellow (Y) and black (K) color channels, in particular at least one of the predefined green and / or purple and / or orange color channels, is specified as a second target space.
[0031] According to a further preferred embodiment, the N-bit pixel data has a bit width of 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 or 16 bits, preferably a bit width of 8 / 16 / 32 or 64 bits, in particular a bit width of 8 bits, and the M-bit print data has a bit width of 1 / 2 / 3 or 4 bits.
[0032] The slash " / " means "or." In the context of this description, when we speak of 8-bit pixel data in a color channel of a first target color space, this means pixels having a color depth of one color channel of 8 bits, i.e., a color gamut between 0 and 255.
[0033] When this description refers to 1-bit print data in a color channel of the second target color space, this means a pixel with a color depth of one color channel of 1 bit, i.e. color gradations of 0 and 1. In the corresponding binary print mode, each pixel in a row of a printing grid, assumed to be on a virtual image of the printing medium, is applied with either no drop or a drop of color.
[0034] However, for example, when 2-bit print data of a color channel of the second target color space is mentioned, this means a pixel with a color depth of one color channel of 2 bits, i.e. a color gradation of 0 to 3. In the corresponding grayscale mode, each pixel of a row of a virtual printing grid on the printing medium is exposed to either no drop or a combined drop consisting of k drops of one color, where k=1 to 3.
[0035] According to a further preferred embodiment, the X-bit pixel data has a bit width of 8 / 16 / 32 / 64 bits, preferably 8 bits, and the Y-bit print data has a bit width of 16 / 32 / 64 / 128 / 256 / 512 / 1024 / 2048 / 4096 bits, preferably 128 / 256 / 512 / 1024 / 2048 / 4096 bits.
[0036] Thus, in this preferred embodiment, the X-bit pixel data of all vector-based arithmetic logic units have a bit width of 8 bits / 16 bits / 32 bits or 64 bits, preferably a bit width of 8 bits, and the Y-bit print data of all vector-based arithmetic logic units have a bit width of 16 bits / 32 bits / 64 bits / 128 bits / 256 bits / 512 bits / 1024 bits / 2048 bits or 4096 bits, preferably a bit width of 128 bits / 256 bits / 512 bits / 1024 bits / 2048 bits or 4096 bits, so that the sum of the respective Y-bit print data of all vector-based arithmetic logic units corresponds to the sum of the respective bit widths of all vector-based arithmetic logic units, which sum preferably corresponds to a bit width of up to 1048576 bits.
[0037] According to a particularly preferred embodiment of the method according to the invention, the raster graphics processor comprises conversion modes R1 and R2, and the conversion according to step b) is carried out in one or more conversion cycles, which comprise the following steps: e) determining an object group of the object of the image to be transformed based on the transformation progress; f) determining a computational effort R for each object from the group of objects in order to predict whether the corresponding required computational effort R exceeds or falls below a predetermined value S, and classifying the respective object as type A if the computational effort falls below the value S, or as type B if the computational effort exceeds the value S; g) i. if the object is classified as type A, mode R1 is selected, the object is decomposed according to mode R1 into several independent re-vectorized objects, the re-vectorized objects are provided to a predetermined number of processors and transformed by the processors according to step b), the re-vectorized objects being sub-objects of the object and forming the object as a whole; ii. starting the transformation by selecting mode R2 if the object is classified as type B, and transforming the object into mode R2 without decomposing it into several independent re-vectorized objects according to step b); Includes.
[0038] These further developments offer the advantage that the processing time of the object-based data of a single image can be significantly reduced by this step-by-step sequence of mathematical decisions regarding the type of transformation of a wide variety of objects.
[0039] Furthermore, if the object is classified as type A, the object-based pixel data in step b) can be buffered or stored in an internal pixel memory of the programmable system-on-chip, and if the object is classified as type B, the object-based pixel data can be buffered or stored in a pixel memory, preferably a cache memory, external to the programmable system-on-chip. This further development has the advantage that external pixel memory is saved with respect to read and write processes. As a result, external storage replacement is required less frequently, saving time and money. The internal pixel memory of the PSoC is designed not to degrade with respect to read and write operations, whereas the corresponding external pixel memory can degrade with respect to read and write operations.
[0040] According to a further preferred embodiment at least one, preferably several, single instruction multiple data capable or multiple instruction multiple data capable processors are provided for each of the graphic primitives rectangle, circle, triangle or line from a group of graphic primitives, each of which exclusively comprises a predefined set of arithmetic operations tailored to the respective graphic primitive for controlling its at least one vector based arithmetic logic unit, each set of arithmetic operations from the group being different from all other sets of arithmetic operations from the group, and according to step b) the object based data are provided depending on those graphic primitives only to those processors or to the processor comprising the predefined set of arithmetic operations tailored to the graphic primitive. This further development provides the advantage that if the image comprises at least one or more rectangles and / or circles and / or triangles and / or lines as graphic primitives the processing time of the object based data of the image is significantly reduced.
[0041] Those skilled in the art are familiar with the corresponding set of arithmetic operations from the prior art in the field of data processing.
[0042] According to a particularly preferred embodiment, a single instruction multiple data capable or multiple instruction multiple data capable processor is provided, each of which is provided with at least a first and a second vector-based arithmetic logic unit, which are arranged to be connected in series if necessary, and during the parallel processing according to step b), by using a first predetermined set of calculation operations, a first number of object-based data, each having a bit width of X bits, input in parallel, i.e. simultaneously, to the first arithmetic logic unit, are converted into a number of pixel data having a bit width of Y bits larger than the bit width of X bits, and the number of Y bits of pixel data are then converted into a number of pixel data having a bit width of Z bits by using a second predetermined set of calculation operations, such width being larger than the bit width of X bits, preferably larger than the bit width of Y bits, and the Z bits of pixel data are buffered and stored in the form of a pixel matrix consisting of an integer number of N bits of pixel data. This further development provides a particular advantage in that it offers the possibility of intelligently shortening in an additional way the processing time of object-based data consisting of a number of graphic primitives, in particular including the graphic primitives rectangles and / or circles and / or triangles and / or lines.
[0043] The decomposition of objects into re-vectored objects according to step g[i]) and providing the re-vectored objects to a predetermined number of processors may be performed using a single or multi-core main processor of a programmable system-on-chip. For clarity, it is noted that the main processor is not a processor of the PSoC, in particular a vector processor.
[0044] According to a preferred embodiment of the invention, for each object to be transformed from the object group, the computational effort R according to step f) is predicted based on the size and / or orientation of the object to be transformed in the image, this computational effort preferably stored in a computational effort prediction table.
[0045] Furthermore, the predetermined value S can either have a constant value or specify a variable value after step e) and before step f) in each transformation cycle based on freely determined available computing power in the multiple processors, preferably based on the size and / or orientation of one imaginary object, preferably obtained from a given transformation mode table. This further development provides the advantage that in the second case the processing time of selected objects, e.g. relatively small but relatively complex objects, can be further reduced.
[0046] According to a first preferred embodiment of the method, the color card and the color profile are created fully automatically by printing calibration fields for each color channel of the second target color space, in particular on the printing medium or on the waste area of at least some of the printing medium, at predefined time intervals, whereby the printed calibration fields are read by an image measurement system of the printer, whereby after reading, colorimetric calculations are performed by a programmable system-on-chip, preferably provided, in order to compare the color profile of the first target color space used by the printer in the process to create a new color profile of the first target color space, on the basis of which the conversion according to step b) is performed, and printing continues immediately on the basis of the new color profile after it has been created.
[0047] This further development offers the advantage that several color cards can be produced every day without any manipulation. Color cards are print samples. They can be produced for any color of the second color space, in particular for each color channel, and serve as a visual reference. Typically, different batches of inks of the same ink brand have different hue and printing properties. So, when a colored image is produced on a print medium using different batches of ink, several images with the same pattern but different colors are finally obtained. The reason for this could be, on the one hand, the inevitable imperfections in the manufacturing process of the inks and, on the other hand, the changes in the properties of the ink as it ages.
[0048] According to an alternative second preferred embodiment of the method, a predetermined printing pattern of the image printed on the printing medium from the M-bit printing data is read at predetermined time intervals using an image measurement system of the printer, preferably by artificial intelligence, whereby after reading, colorimetric calculations are performed, preferably by a programmable system-on-chip provided for this purpose, in order to create a new color profile of the first target color space in comparison with the color profile of the first target color space used by the printer in the process, on the basis of which the conversion according to step b) is carried out, and printing continues immediately on the basis of the new color profile after it has been created.
[0049] These further developments offer the advantage that color matching and new creation of color profiles can be done on the fly, since there is no longer a need to print calibration fields, and printing ink can also be saved.
[0050] According to a highly preferred embodiment of the method, the first preferred embodiment and the second preferred embodiment are performed alternately at predetermined time intervals.
[0051] According to a further preferred embodiment of the method according to the invention, the programmable system-on-chip comprises at least one programmable logic circuit configured to perform a weighted addition operation when several objects of the object-based data are overlaid in the image, such that, using logic circuits programmed at the hardware level, the N-bit color values of overlapping pixels of each color channel of the several objects converted into N-bit pixel data for each color channel are weighted in step b) before being buffered or stored in the pixel memory. These further developments offer the advantage that the storage time of the respective color values of the overlaid pixels of each color channel of several overlaid objects can be significantly reduced.
[0052] Furthermore, in the method according to the invention, the programmable system-on-chip can comprise a further programmable logic circuit configured to perform the method steps according to step c), in particular the computer-implemented method steps according to step c), such that all steps are performed according to step c) on the further programmable logic circuit.
[0053] These further developments offer the advantage that this allows for further improvements in overall process effectiveness and also overall system effectiveness in terms of availability, performance and price.
[0054] Furthermore, in this preferred embodiment, the further programmable logic circuit is capable of executing a method, in particular a computer-implemented method, configured to compensate for at least one faulty or defective nozzle, whereby after printing on the printing medium according to step d), the faulty or defective nozzle is detected by an image measuring system of the printer, preferably by artificial intelligence, and all steps of the method, in particular the computer-implemented method, for compensating for the faulty or defective nozzle are performed in the programmable logic circuit.
[0055] These further developments offer the advantage that pixel nozzle adjustments can be made on the fly, thereby ensuring a continuum of high print quality.
[0056] Methods for compensating for failed or defective nozzles are known to the skilled person from the prior art. The basic principle on which such methods work is to disable the failed or defective nozzle and to redistribute the image data that should have been printed by the failed or defective nozzle to a number of nozzles located in the vicinity of the failed or defective nozzle.
[0057] The object-based data can be input to the raster graphics processor in the form of a main queue of several images by step a), and a display list with several images of several lines for the print medium is specified before step b) based on the images from the main queue, thereby increasing the productivity of the printer.The main queue can be created from several sub-queues, each with at least one or several images, most preferably using a predefined algorithm, using an automated print job system provided in a cloud computing environment.
[0058] According to a further preferred embodiment, exclusively object-based data is input to a raster graphics processor in step a) and the entire underlying image can be processed in all subsequent steps time-deterministically, preferably automatically, particularly preferably by artificial intelligence, based on the available computing power of the processor, so that the time required to fully execute step b) and all subsequent steps except step d) is shorter in total than the time required to fully print the image on at least one print medium. This further development offers the advantage that the risk of production stoppages can be significantly reduced or completely eliminated.
[0059] According to a further preferred embodiment, prior to step a), the image or images are optionally cleaned to remove object-based data that is not optically relevant to the human eye from the image, so that the object-based data can be processed in a time-deterministic manner in all subsequent steps, the cleaning being preferably performed by filtering with at least a transparency filter. This further development provides the advantage that a larger number of customer images can typically be processed in a time-deterministic manner.
[0060] Furthermore, the object-based data can be cleaned automatically using artificial intelligence, preferably using a continuous learning artificial intelligence, which in particular preferably comprises at least one adaptive decision algorithm on the basis of which the cleaning is performed, which decision algorithm is based on the processed data and is adjusted by the artificial intelligence from time to time. This further development has the advantage that it makes it possible to further increase the effectiveness of the entire system in terms of availability, performance and price.
[0061] The printer may be provided as an inkjet printer. Further, the printer can be provided as a single pass printer or a multi-pass printer. Preferably, the printer is provided as a single pass inkjet printer or a multi-pass inkjet printer. Alternatively, the printer can be provided as, for example, a laser printer or an offset printer. When the printer is provided as an inkjet printer, the at least one print medium is printed with ink droplets in the color of at least one color channel or in the color of all color channels of the second target color space based on the M-bit print data.
[0062] Step d) can be carried out by printing on a print medium moving in the transport direction or on several print media moving in the transport direction.
[0063] According to a highly preferred embodiment of the method according to the invention, each of the vector-based arithmetic logic units is configured such that during the parallel processing according to step b), several object-based data, each having a bit-width of X bits, which are input in parallel to the respective arithmetic logic unit using a predetermined set of calculation operations, are converted within a single clock cycle of the processor into pixel data having a bit-width of Y bits, which is greater than the bit-width of X bits, and the Y-bit pixel data are then buffered or stored in the pixel memory in the form of a pixel matrix consisting of an integer number of N-bit pixel data.
[0064] According to the invention, this object is also achieved by a product, preferably a computer program product, as defined in claim 22.
[0065] A product according to the invention, preferably a computer program product, for synthesizing M-bit print data and providing it to at least one printer comprises: A. A raster graphics processor having at least one system-on-chip with a plurality of processors, the raster graphics processor being designed such that object-based data input to the raster graphics processor for at least one image in the form of a page description language is converted to N-bit pixel data for each color channel of a first target color space having a predetermined image resolution by providing the object-based data to some or all of the plurality of processors and processing them in parallel by the processors; B. a dithering calculation unit designed to convert the N-bit pixel data for each color channel into M-bit print data for each color channel of a second target color space using at least one dithering algorithm and buffer or store the same in an output memory; an output unit designed to provide CM bit print data to a printer; D. at least one printer for printing at least one print medium; E. Each system on chip comprises a single-core or multi-core main processor for delegating a given task to the processor, preferably converting object-based data into N-pixel data.
[0066] According to the present invention, the system on chip is designed as a programmable system on chip, and the processors are designed as single-instruction multiple-data or multiple-instruction multiple-data processors each having at least one vector-based arithmetic logic unit, and each of the vector-based arithmetic logic units is configured such that when the object-based data is processed in parallel, several object-based data each having a bit width of X bits entering the respective arithmetic logic unit in parallel, i.e. simultaneously, are converted into pixel data having a bit width of Y bits, which is greater than the bit width of X bits, by using a predetermined set of calculation operations, and then the Y-bit pixel data is converted into a pixel matrix consisting of an integer number of N-bit pixel data and stored or buffered in a pixel memory.
[0067] According to a preferred embodiment, the single instruction multiple data or multiple instruction multiple data processor is designed as a single instruction multiple data or multiple instruction multiple data vector processor.
[0068] For example, a suitable programmable system-on-chip is one currently marketed by Xilinx under the brand name "Adaptable Computing Acceleration Platforms," including, for example, the "AI Core Series," "AI Edge Series," "Prime Series," or "Premium Series." Such programmable system-on-chips include hundreds of integrated vector processors.
[0069] According to a further preferred embodiment, the programmable system-on-chip comprises at least one programmable logic circuit configured to perform a weighted addition operation such that when multiple objects of the object-based data are overlaid in the image, the N-bit color values of the overlaid pixels of each color channel of the multiple objects, correspondingly converted into N-bit pixel data for each color channel, are weighted-added by the hardware-level programmed logic circuit in step b) before being buffered or stored in the pixel memory. These further developments provide the advantage that the storage time of the N-bit data for each color channel from several overlaid objects can be significantly reduced.
[0070] The programmable system on chip may comprise a single-core or multi-core main processor configured to decompose the objects into re-vectored objects according to step g[i]) of the method according to the invention. The programmable system on chip may also include a high-speed interface for receiving and / or transmitting data.
[0071] The programmable system-on-chip may further comprise a data transfer bus capable of transmitting data at a speed of at least 3 Tbit / s, preferably at most 4 Tbit / s, and wherein at least a plurality of processors, a pixel memory, an output memory, at least one programmable logic circuit, a single-core or multi-core main processor, and a high-speed interface are coupled to the data transfer bus.
[0072] Furthermore, the raster graphics processor may comprise a master processor for executing specific tasks, preferably for delegating specific tasks to at least one, and in particular to multiple, programmable SoCs.
[0073] The printer can be designed as an inkjet printer. The printer can also be designed as a single-pass or multi-pass printer. The printer is preferably designed as a single-pass or multi-pass inkjet printer. Alternatively, the printer can be designed, for example, as a laser printer or an offset printer.
[0074] In a preferred embodiment, a raster graphics processor is designed so that it is capable of executing the method according to the invention.
[0075] According to a particularly preferred embodiment, each vector-based arithmetic logic unit is configured such that when the object-based data is processed in parallel, several object-based data, each having a bit-width of X bits, input in parallel to the respective arithmetic logic unit, are converted into pixel data having a bit-width of Y bits using a predetermined set of arithmetic operations within a single clock cycle of the processor, the bit-width of Y bits being greater than the bit-width of X bits, and the Y-bit pixel data are stored in the pixel memory in the form of a pixel matrix consisting of an integer number of N-bit pixel data.
[0076] Furthermore, in a preferred embodiment, the dithering calculation unit B can be configured as a further programmable logic circuit.
[0077] Thus, the further programmable logic circuit is configured to use at least one dithering algorithm to convert the N-bit pixel data for each color channel into M-bit print data for each color channel of the second target color space and buffer or store it in the output memory.
[0078] This further development offers the advantage that it allows for further improvements in overall process effectiveness and also overall system effectiveness in terms of availability, performance and price.
[0079] Furthermore, in this preferred embodiment, it is possible to use a further programmable logic circuit to perform a method, in particular a computer-implemented method, for compensating for at least one failed or defective nozzle, such that if, after printing on the printing medium according to step d), a failed or defective nozzle is detected, preferably by artificial intelligence, using an image measurement system of the printer on the programmable logic circuit, then all steps of the method, in particular computer-implemented procedures, are configured to be able to be executed to compensate for the failed or defective nozzle.
[0080] This further development offers the advantage that it allows nozzle adjustment during pass or operation, so that a continuity of high print quality can be ensured.
Claims
1. 1. A method, preferably computer-implemented, for combining M-bit print data and providing it to at least one printer, comprising: a) inputting object-based data for at least one image in the form of a page description language into a raster graphics processor having at least one system-on-chip with multiple processors; b) converting the object-based data into N-bit pixel data for each color channel of a first target color space having a specified image resolution by providing the object-based data to some or all of the plurality of processors and processing them in parallel by the processors; c) converting the N-bit pixel data for each color channel to M-bit print data for each color channel of a second target color space using at least one dithering algorithm and buffering or storing the M-bit print data in an output memory; d) providing the M-bit print data to the at least one printer and printing onto at least one print medium using the printer; The system on chip is provided as a programmable system on chip, and the processors are provided as single instruction multiple data or multiple instruction multiple data processors, each having at least one vector based arithmetic logic unit; Each of the vector-based arithmetic logic units comprises: During the parallel processing according to step b), several object-based data, each having a bit-width of X bits, entering in parallel into a respective said arithmetic logic unit using a predetermined set of calculation operations, are converted into pixel data having a bit-width of Y bits, which is larger than said bit-width of X bits; The Y-bit pixel data is then buffered or stored in a pixel memory in the form of a pixel matrix of an integer number of N-bit pixel data.
2. 2. The method of claim 1, wherein the single instruction multiple data or multiple instruction multiple data capable processor is a single instruction multiple data or multiple instruction multiple data capable vector processor provided.
3. 3. A method according to claim 1 or 2, characterized in that the object-based data comprises object-based PDF data and / or object-based PostScript data, each in the form of a vector-based page description language.
4. 2. The method of claim 1, characterized in that a subtractive color space is specified as the first target color space, preferably comprising at least the cyan (C), magenta red (M), yellow (Y) and black (K) color channels, and a subtractive color space is specified as the second target color space, preferably comprising at least the cyan (C), magenta red (M), yellow (Y) and black (K) color channels, in particular comprising at least one of the predetermined green and / or purple and / or orange color channels.
5. 2. The method according to claim 1, characterized in that the N-bit pixel data has a bit width of 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 or 16 bits, preferably a bit width of 8 / 16 / 32 or 64 bits, in particular a bit width of 8 bits, and the M-bit print data has a bit width of 1 / 2 / 3 or 4 bits.
6. 2. The method according to claim 1, characterized in that the X-bit pixel data has a bit width of 8 / 16 / 32 / 64 bits, preferably 8 bits, and the Y-bit print data has a bit width of 16 / 32 / 64 / 128 / 256 / 512 / 1024 / 2048 / 4096 bits, preferably 128 / 256 / 512 / 1024 / 2048 / 4096 bits.
7. The raster graphics processor comprises conversion modes R1 and R2, and the conversion according to step b) is performed in one or more conversion cycles, the conversion cycles comprising the following steps: e) determining an object group of the object of the image to be transformed based on the transformation progress; f) determining a computational effort R for each object from said group of objects in order to predict whether a corresponding required computational effort R exceeds or falls below a predetermined value S, and classifying each said object as type A if said computational effort falls below said value S or as type B if said computational effort exceeds said value S; g) i. if said object is classified as type A, mode R1 is selected, said object is decomposed according to mode R1 into several independent re-vectored objects, said re-vectored objects are provided to a predetermined number of processors and transformed by said processors according to step b), said re-vectored objects being sub-objects of said object and forming said object as a whole; ii. if the object is classified as type B, mode R2 is selected and the object is transformed according to mode R2 without being decomposed into several independent re-vectored objects according to step b), thereby starting the transformation; The method of claim 1 , comprising:
8. 8. The method of claim 7, characterized in that if the object is classified as type A, the object-based pixel data in step b) is buffered or stored in an internal pixel memory of the programmable system-on-chip, and if the object is classified as type B, the object-based pixel data is buffered or stored in a pixel memory, preferably a cache memory, external to the programmable system-on-chip.
9. 9. The method according to claim 7 or 8, characterized in that the predetermined value S either has a constant value or is assigned a variable value after step e) and before step f) in each transformation cycle based on available computing power determined freely within the plurality of processors, preferably based on the size and / or orientation of a fictitious object, preferably obtained from a specified transformation mode table.
10. 8. The method of claim 7, wherein the decomposition of the objects into re-vectorized objects by step (g[i]) and providing the re-vectorized objects to a predetermined number of processors is performed using a single or multi-core main processor of the programmable system-on-chip.
11. 8. The method according to claim 7, characterized in that for each object to be transformed from the group of objects, the computational effort R according to step f) is predicted based on a size and / or an orientation of the respective object to be transformed in the image, said computational effort being preferably stored in a computational effort prediction table.
12. 2. The method according to claim 1, characterized in that for each said graphic primitive from a group of graphic primitives at least one, preferably several, of the following are provided: a rectangle, a circle, a triangle or a line; each of which exclusively comprises a predefined set of arithmetic operations tailored to the respective said graphic primitive for controlling its at least one vector based arithmetic logic unit, whereby each set of arithmetic operations from said group is distinct from all other sets of arithmetic operations from said group, and according to step b) said object based data is provided depending on said graphic primitive only to those processors or to the processors which comprise said predefined set of arithmetic operations tailored to said graphic primitive.
13. 2. The method according to claim 1, wherein the single-instruction multiple-data capable or multiple-instruction multiple-data capable processor is provided with at least one vector-based first arithmetic logic unit and a vector-based second arithmetic logic unit, which are configured to be serially connected as necessary, and wherein during the parallel processing according to step b), first, by using a predetermined first set of arithmetic operations, several object-based data, each having a bit-width of X bits, input in parallel to the first arithmetic logic unit are converted into several pixel data having a bit-width of Y bits larger than the bit-width of X bits, and the several Y-bit pixel data are then converted into several pixel data having a bit-width of Z bits by using a predetermined second set of calculation operations, such width being larger than the bit-width of X bits, preferably larger than the bit-width of Y bits, and the Z-bit pixel data are buffered and stored in the form of a pixel matrix consisting of an integer number of N-bit pixel data.
14. 2. The method according to claim 1, further characterized in that the color map and color profile are created fully automatically by printing calibration fields for each of the color channels of the second target color space, in particular on a waste area of the printing medium or on at least some of the printing media at predetermined time intervals, said calibration fields being read by an image measurement system of the printer, whereby, after reading, colorimetric calculations are performed, preferably by a dedicated programmable system-on-chip, in order to create a new color profile of the first target color space compared with the color profile of the first target color space used by the printer in the process, on the basis of which the conversion according to step b) follows, and after the new color profile has been created, printing continues immediately on the basis of it.
15. 2. The method of claim 1, characterized in that the programmable system-on-chip is provided with at least one programmable logic circuit used to perform a weighted addition operation, and is configured such that when several objects of the object-based data are overlaid in the image, the N-bit color values of the overlapping pixels of each color channel of the plurality of objects, converted into N-bit pixel data for each color channel, are added in a weighted manner in step b) using the logic circuit programmed at a hardware level before being buffered or stored in the pixel memory.
16. 8. The method according to claim 7, characterized in that according to step a), exclusively object-based data is input to the raster graphics processor and the entire base image can be processed in a time-deterministic manner in all subsequent steps, preferably automatically, particularly preferably by artificial intelligence, based on the available computing power of the processor, so that the time required to completely perform step b) and all subsequent steps except step d) is shorter in total than the time required to completely print the image on the at least one printing medium.
17. 17. The method according to claim 16, characterized in that prior to step a), cleaning of the image is optionally performed in order to remove object-based data from the image that is not optically relevant to the human eye, so that the object-based data can be processed in a time-deterministic manner in all subsequent steps, said cleaning being preferably performed by filtering with at least a transparency filter.
18. 18. The method according to claim 17, characterized in that the cleansing of the object-based data is performed automatically by an artificial intelligence, preferably automated by a continuous learning artificial intelligence, particularly preferably the artificial intelligence comprises at least one adaptive decision algorithm on the basis of which the cleansing is performed, the decision algorithm being based on the processed data and being adjusted from time to time by the artificial intelligence.
19. 2. The method according to claim 1, characterized in that the printer is provided as an inkjet printer, preferably as a single-pass or multipass inkjet printer.
20. 2. A method according to claim 1, characterized in that step d) is carried out by printing on a print medium moving in the transport direction or on several print media moving in the transport direction.
21. 2. The method of claim 1, wherein the printer is provided as an inkjet printer.
22. 2. The method of claim 1, wherein each of the vector-based arithmetic logic units is configured such that, during the parallel processing according to step b), several object-based data, each having a bit-width of X bits, input in parallel to each of the arithmetic logic units are converted in a single clock cycle of the processor by applying a predetermined set of arithmetic operations, into pixel data having a bit-width of Y bits, which is greater than the bit-width of X bits, and then the Y-bit pixel data is buffered and stored in a pixel memory in the form of a pixel matrix consisting of an integer number of N-bit pixel data.
23. 2. The method according to claim 1, further characterized by a step in which a predetermined printing pattern of an image printed on a printing medium from M-bit print data is read fully automatically, preferably by artificial intelligence, using an image measurement system of the printer at predetermined time intervals, after which colorimetric calculations are carried out, preferably by a programmable system-on-chip provided for this purpose, in order to create a new color profile of the first target color space compared with the color profile of the first target color space used by the printer in the process, on the basis of which the conversion according to step b) is carried out, and after the new color profile has been created, printing is immediately continued on the basis of it.
24. 24. The method according to claim 23, characterized in that the steps of the method according to claim 14 and the steps of the method according to claim 23 are carried out alternately at predetermined time intervals.
25. 2. The method according to claim 1, characterized in that the programmable system-on-chip comprises a further programmable logic circuit configured to perform the method steps according to step c), in particular the computer-implemented method steps according to step c), such that all steps according to step c) are performed on the further programmable logic circuit.
26. 26. The method according to claim 25, characterized in that the further programmable logic circuit for executing a method, in particular a computer-implemented method, for compensating for at least one failed or defective nozzle is configured such that if the failed or defective nozzle is detected after printing on the printing medium according to step d), preferably by artificial intelligence, using an image measuring system of the printer, all steps of the method, in particular the computer-implemented method, for compensating for the failed or defective nozzle are performed on the programmable logic circuit.
27. 1. A product, in particular a computer program product, for synthesizing M-bit print data and providing it to at least one printer, comprising: A. a raster graphics processor having at least one system-on-chip with multiple processors, the raster graphics processor being designed such that object-based data input to the raster graphics processor for at least one image in the form of a page description language is converted to N-bit pixel data for each color channel of a first target color space having a predetermined image resolution by providing the object-based data to some or all of the multiple processors and processing them in parallel with the processors; B. a dithering calculation unit designed to convert said N-bit pixel data for each color channel using at least one dithering algorithm into M-bit print data for each color channel of a second target color space and store it in an output memory; C. an output unit designed to provide the M-bit print data to a printer; D. at least one said printer for printing at least one print medium; E. each system-on-chip comprises a single-core or multi-core main processor for delegating to said processor certain tasks, preferably converting said object-based data into N-pixel data; 1. The product of claim 1, wherein the system-on-chip is designed as a programmable system-on-chip, and the processors are designed as single-instruction, multiple-data or multiple-instruction, multiple-data processors each having at least one vector-based arithmetic logic unit, each of the vector-based arithmetic logic units being configured to convert several object-based data, each having a bit-width of X bits, input in parallel to a respective one of the arithmetic logic units, into pixel data having a bit-width of Y bits, which is greater than the bit-width of X bits, using a predetermined one of the processor's arithmetic operation set when the object-based data is processed in parallel, and the Y-bit pixel data is stored in a pixel memory in the form of a pixel matrix consisting of an integer number of N-bit pixel data.
28. 28. The article of manufacture of claim 27, wherein the single instruction multiple data or multiple instruction multiple data processor is designed as a single instruction multiple data or multiple instruction multiple data vector processor.
29. 29. The product of claim 27 or 28, wherein the programmable system-on-chip comprises at least one programmable logic circuit configured to perform a weighted addition operation, and wherein when multiple objects of the object-based data are overlaid in the image, the N-bit color values of the overlapping pixels of each color channel of the multiple objects, converted into N-bit pixel data for each color channel, are added in a weighted manner at a hardware level in step b) using the programmed logic circuit before being buffered or stored in the pixel memory.
30. 28. A product according to claim 27, characterized in that the printer is designed as an inkjet printer, preferably as a single-pass or multipass inkjet printer.
31. 28. The article of manufacture of claim 27, wherein said raster graphics processor is designed to perform the method of claim 1.
32. 28. The article of manufacture of claim 27, wherein each of the vector-based arithmetic logic units is configured such that, when the object-based data is processed in parallel, several object-based data, each having a bit-width of X bits, input in parallel to a respective one of the arithmetic logic units is converted in a single clock cycle of the processor using a predetermined one of an arithmetic operation set of the processor into pixel data having a bit-width of Y bits, which is greater than the bit-width of X bits, and the Y-bit pixel data is stored in a pixel memory in the form of a pixel matrix consisting of an integer number of N-bit pixel data.
33. 28. A product according to claim 27, characterized in that the dithering calculation unit B is constructed as a further programmable logic circuit.
34. 34. The product according to claim 33, characterized in that the further programmable logic circuit is configured to execute a method, in particular a computer-implemented method, for compensating for at least one failed or defective nozzle, whereby, if the failed or defective nozzle is detected using an image measuring system of the printer, preferably by artificial intelligence, after printing on the printing medium according to step d), all steps of the method, in particular the computer-implemented method, for compensating for the failed or defective nozzle can be performed in the programmable logic circuit.