This is a national stage application filed under 35 U.S.C. § 371 of pending international application PCT/EP2019/056972, filed Mar. 20, 2019, which claims priority to Netherlands Patent Application No. NL 2020646, filed Mar. 22, 2018, the entirety of which applications are hereby incorporated by reference herein.
The field of the invention relates to printing systems and methods using one or more inkjet heads and in particular to a printing method and apparatus with improved memory usage.
An ink-jet printer records an image on a recording medium by discharging an ink from nozzles formed on one or more inkjet heads. A substrate is transported below the one or more inkjet heads with a predetermined speed.
The number of nozzles required across the printing direction is primarily defined by the desired print resolution relative to the given print resolution of the inkjet printing head used. Since a nozzle has minimum dimensions the distance between two adjacent nozzles cannot be infinitely decreased. For that reason an inkjet head preferably comprises a plurality of rows of nozzles which are shifted with respect to each other in order to increase the printing resolution.
An example of a known inkjet head comprises a plurality of rows n, e.g. 16 rows, each having a plurality of nozzles m, e.g. between 100 and 200 nozzles, wherein the rows are oriented in a direction perpendicular to the printing direction, i.e. in the direction in which the substrate moves with respect to the inkjet head. It is noted that one inkjet head may comprise a plurality of chips or dies which are put together to form the plurality of rows. Also, each row may have the same amount of nozzles or some rows may have a different amount of nozzles. Due to physical limitations, typically the rows are separated by more than one scanline, e.g. k scanlines where k may be e.g. between 10 and 30 scanlines. In typical known embodiments, the nozzles of the inkjet head may be fired substantially simultaneously. The firing frequency is such that each time the substrate has moved from one row to the next row a firing of all nozzles of the inkjet head is performed k times. The rows are shifted with respect to each other such that the combination of dots printed during subsequent steps of the printing process form a regular pattern. More in particular, when the inkjet head has fired all (n×m) nozzles k times while the substrate moves below the inkjet head, one line of the n lines extending perpendicular on the printing direction will be finished, and may comprise (n×m) dots. In other implementations, the nozzles of the inkjet head may be fired at different moments in time as disclosed in Dutch patent application No. 2020081 in the name of the applicant.
Another example of a known inkjet head comprises an array of a plurality of rows (n) and columns (m), e.g. 32 rows (n=32), each having a plurality of nozzles, e.g. 64 nozzles (m=64), wherein the rows are oriented under a small angle with respect to a direction perpendicular to the printing direction, and the columns are oriented under a small angle with respect to the printing direction. Seen in a direction perpendicular to the printing direction, a plurality of such heads may be provided next to each other. During printing all (n×m) nozzles are fired substantially simultaneously with a firing frequency which is such that the nozzles fire at least every time the substrate has moved to the next row. Also using such an inkjet head, the distance between adjacent printed dots, seen in the printing direction, may be a factor smaller than the distance between adjacent nozzle rows. By increasing the number of rows and columns, the resolution in the printing direction may be increased.
A problem with the known inkjet heads is that large amounts of data corresponding with thousands of scanlines need to be stored. This is typically implemented using software in combination with a large memory, resulting in a relatively expensive system.
The object of embodiments of the invention is to provide a method and system for printing a plurality of scanlines with one or more inkjet heads that allows an improved memory usage resulting in a more cost-efficient printing method and system.
According to a first aspect of the invention the method for printing a plurality of scanlines with one or more inkjet heads comprises:
Using the steps described above, it is possible to have a relatively small first memory and a larger second memory. Further, by choosing the size of the bundles to be appropriate for the second memory, and in particular to be appropriate for obtaining a fast reading/writing data rate, a fast and efficient use of storage is realized. Further, by grouping pixels to be fired within a same time period in suitably sized bundles, a group of bundles to be fired within a particular time period can be read out of the second memory in a fast manner resulting in a fast printing process which makes efficient use of a memory.
Preferably, the second memory comprises a dynamic random access memory, more preferably a synchronous dynamic random access memory (SDRAM), more preferably DDR3. Such memories are suitable for storing the required amount of bundles, and can be read and written in a sufficiently fast manner when suitably sized bundles are used.
Preferably, the predetermined size of a bundle of the plurality of bundles is between 50% and 100% of an optimal size for writing and reading the second memory. For example, for DDR3, the optimal packet size is 512 bits, which corresponds with 128 pixels when each pixel is represented by four bits. In such embodiments, each bundle preferably comprises between 64 and 128 pixels. However, a suitable number of pixels per bundle will also depend on the arrangement and the number of the nozzles in the one or more inkjet heads, and typically a value lower than 128 pixels will be used. In other embodiments each pixel may be represented by 2 bits or 1 bit, wherein more than 128 pixels may be grouped in a bundle.
Preferably, the first memory is at least ten times smaller than the second memory, more preferably at least 100 times smaller than the second memory. Preferably, the first memory stores less than 10 scanlines, more preferably less than 5 scanlines, and the second memory stores at least 1000 scanlines, preferably at least 2000 scanlines. The scanlines may be received on a scanline per scanline basis from a file or data stream, and next grouped in bundles and transferred to the second memory, so that the first memory can be small. However, it is also possible to receive a couple of scanlines in parallel, but even in such a configuration the first memory can store less than 10 scanlines.
According to a possible embodiment, the first memory is included in a programmable hardware component, preferably a field-programmable gate array (FPGA). The first memory may also be included in an application specific integrated circuit (ASIC). According to another possible embodiment the first memory is a cache memory of a central processing unit (CPU).
Other preferred embodiments are disclosed in the attached dependent claims.
According to a second aspect of the invention, there is provided a printing system for printing a plurality of scanlines, said system comprising one or more inkjet heads; a logic unit with a first memory and a second memory. The logic unit is configured for receiving at least one scanline, for creating, from pixels of said at least one scanline, a plurality of bundles of a predetermined size, such that said plurality of bundles comprises first bundles and consecutive bundles, said first bundles and said consecutive bundles comprising pixels for which nozzles of the one or more inkjet heads have to be fired within a first time period and within a consecutive time period, respectively, for storing said plurality of bundles in the first memory, and for transferring said plurality of bundles from the first memory to the second memory. The second memory is configured for storing bundles of consecutive scanlines, until at least all pixels for which nozzles of the one or more inkjet heads have to be fired within the first time period are available in the second memory. The predetermined size of a bundle of the plurality of bundles is chosen to be appropriate for the second memory. The printing system is configured for firing nozzles of the one or more inkjet heads in accordance with the first bundles within the first time period by reading the first bundles out of the second memory; and in accordance with consecutive bundles within the associated consecutive time period by reading the consecutive bundles out of the second memory.
Preferred embodiments of the printing system are disclosed in the dependent claims.
The features and advantages set out above for embodiments of the method, apply mutatis mutandis for embodiments of the printing system.
The accompanying drawings are used to illustrate presently preferred non-limiting exemplary embodiments of devices of the present invention. The above and other advantages of the features and objects of the invention will become more apparent and the invention will be better understood from the following detailed description when read in conjunction with the accompanying drawings, in which:
The logic unit 100 is configured for receiving at least one scanline SL. In a possible embodiment, one scanline at a time is received, or, stated differently, consecutive scanlines are received in a serial manner by the logic unit 100. However, in other embodiments it may be envisaged to receive two or three consecutive scanlines in parallel at the logic unit 100. The logic unit 100 is further configured for creating, from pixels of the at least one received scanline SL, a plurality of bundles B of a predetermined size. The size of the bundles B is chosen to be suitable for the second memory 200, and more in particular, for obtaining a high writing/reading data rate of the second memory. For example, the second memory may be a dynamic random access memory (DRAM), preferably a synchronous dynamic random access memory (SDRAM), and more preferably a DDR3 memory. For example, in order to obtain a data rate of 10240 megabits/second for DDR3 (with a clock of 320 MHz and a data bus of 16 bits), the size of the bundles has to be 512 bit, which corresponds with 128 pixels when each pixel is represented by 4 bits. Preferably, the predetermined size of a bundle B is chosen such that it is between 50% and 100% of an optimal size for writing and reading the second memory 200. So, for example for DDR3, preferably, the size of a bundle is between 64 and 128 pixels.
The logic unit 100 is configured for creating, from pixels of the at least one scanline SL, a plurality of bundles B, such that said plurality of bundles B comprises first bundles and consecutive bundles. The first bundles comprise pixels for which nozzles 350 of the inkjet device 300 have to be fired within a first time period. The consecutive bundles comprise pixels for which nozzles 350 of the inkjet device 300 have to be fired within a consecutive time period, after said first time period. The plurality of bundles B is temporarily stored in the first memory 110 before being transferred to the second memory 200. For example, when one scanline of 8000 pixels is received, 100 bundles of 80 pixels each may be created: 4 first bundles of 80 pixels each with pixels to be fired at a time t1, 4 consecutive bundles with pixels to be fired at a consecutive moment in time t1+k·Δt, 4 consecutive bundles with pixels to be fired at a consecutive moment in time t1+2k·Δt, . . . , wherein k is an integer corresponding to the number of scanlines between two rows, and wherein Δt is the time between two consecutive firing instants. It is noted that this is a simplified example, and that e.g. the number of bundles with pixels to be fired at a particular moment in time can be different for different moments in time. For example, when three inkjet heads 310, 320, 330 are used as illustrated in
The second memory 200 is configured for storing first and consecutive bundles of consecutive scanlines, until at least all pixels for which nozzles 350 of the inkjet device 300 have to be fired within the first time period are available in the second memory 200. For example, if each print head 310, 320, 330 has n rows, if the rows are separated by k scanlines, and if inkjet head 320 is shifted with respect to inkjet heads 310, 330 as in
The printing system is further configured for firing nozzles 350 of the inkjet heads 310, 320, 330 in accordance with the first bundles within the first time period by reading the first bundles out of the second memory 200. Next, the nozzles are fired in accordance with the second bundles within the second time period by reading the second bundles out of the second memory 200, etc.
Preferably, the first memory 100 is at least 10 times smaller than the second memory 200, more preferably at least 100 times smaller than the second memory 200. For example, the first memory may be a memory configured to store less than 10 scanlines, whilst the second memory may be configured to store at least 2000 scanlines.
The logic unit 100 may be implemented in hardware or in software. For example, the logic unit 100 may be implemented as a programmable hardware component, preferably a field-programmable gate array (FPGA) or an ASIC. In another embodiment, the logic unit 100 may be a CPU provided with a small cache memory 110.
In a preferred embodiment, all pixels of a bundle are pixels which have to be fired at the same point in time. However, for certain inkjet heads, it may be advantageous to group pixels which have to be fired at different moments in time within the same time period, typically a small time period lower than 100 microseconds, preferably lower than 70 microseconds, and more preferably lower between 5 and 65 microseconds. Indeed, according to some printing methods there may be a small time difference between the firing of the nozzles instead of firing all nozzles simultaneously: in such a case it may be advantageous to group pixels that have to be fired within the same small time period in the same bundle.
For an inkjet head with n rows separated by k scanlines, the first bundles will comprise a subset of pixels of the first scanline, a subset of pixels of the (k+1)th scanline, a subset of pixels of the (2k+1)th scanline, . . . , and a subset of pixels of the ((n−1)k+1)th scanline. Similarly, the second bundles will comprise a different subset pixels of the second scanline, a different subset of pixels of the (k+2)th scanline, a different subset of pixels of the (2k+2)th scanline, . . . , and a different subset of pixels of the ((n−1)k+2)th scanline. Preferably, a bundle does not comprise pixels from different scanlines. However, in certain embodiments, it may be advantageous to group pixels of adjacent scanlines in the same bundle.
The nozzle rows N1, N2, etc. are parallel and adjacent nozzle rows of the plurality of nozzle rows are shifted with respect to each other in a direction perpendicular on the printing direction P. In the illustrated embodiment row N2 is shifted over a distance r to the right with respect to row N1, row N3 is shifted over a distance r to the right with respect to row N2, and row N4 is shifted over a distance r to the right with respect to row N3. In other non-illustrated embodiments the shifting may be different, e.g. row N2 is shifted over a distance 2*r with respect to row N1, row N3 over a distance r with respect to row N1, and row N4 is shifted over a distance 3*r to the right with respect to row N3. The person skilled in the art understands that other variants are possible. Projected on a line perpendicular on the printing direction P, the centres of the nozzles are positioned at an equal distance of each other which corresponds to r.
During a typical printing process, the substrate is moved with a printing speed v and all (m×n×3) nozzles of the three inkjet heads 310, 320, 330 are fired substantially simultaneously with a firing frequency f=v/r. It is noted that there may be a small difference (order of nanoseconds) to avoid large power peaks, but such small differences will not be visible in the printed image. In other words, the firing frequency is such that each time the substrate has moved over a distance r, a firing of all nozzles of the inkjet heads 310, 320, 330 is performed. The rows are shifted with respect to each other such that the combination of dots printed during subsequent steps of the printing process form a regular pattern. More in particular, when the inkjet heads 310, 320, 330 have fired all (n×m×3) nozzles a number of times corresponding to 2k times the number of rows (n×k×2), while the substrate moves below the inkjet heads 310, 320, 330, one scanline extending perpendicular on the printing direction will be finished, and may comprise (n×m×3) pixels.
Now an exemplary embodiment of a method for printing a plurality of scanlines SL with one or more inkjet heads will be explained with reference to
For the first scanline SL1, the first pixel P1 is fired at a first point in time t1 by the first nozzle of row N1, the second pixel P2 was fired 6 scanlines earlier (at t1−6Δt) by the first nozzle of row N2, the third pixel P3 was fired 12 scanlines earlier by the first nozzle of row N3 (at t1−12Δt), the fourth pixel P4 was fired 18 scanlines earlier by the first nozzle of row N4 (at t1−18Δt), the fifth pixel P5 is fired again at the first point in time t1, etc., wherein Δt is the time between two consecutive firing instants.
For the second scanline SL2, the first pixel P1 is fired at a second point in time t2 (=t1+Δt) by the first nozzle of the first row N1, the second pixel P2 was fired 6 scanlines earlier than t2 (at t2−6Δt) by the first nozzle of the second row N2, etc.
For the (k+1)th scanline SL7, the first pixel P1 has to be fired 6 scanlines after t1 (at t7=t1+6Δt), the second pixel P2 has to be fired at a first point in time t1 by the first nozzle of the second nozzle row N2, the third pixel P3 was fired 6 scanlines earlier (at t1−6Δt), etc.
Further, because the second inkjet head 320 is shifted with respect to the first and third inkjet heads 310, 33, scanlines SL25-SL48 will also comprise pixels to be printed at times t1, t2, t3, etc. More in particular, for scanline SL25 the 17th pixel P17 has to be fired at time t1, and the 18th pixel P18 will have to be fired at t1−6Δt, etc.
In other words, the following scanlines will comprise pixels to be printed
wherein t2=t1+Δt, t3=t1+2Δt, t4=t1+3Δt, etc., wherein Δt is the time between two consecutive firing instants.
For scanline SL1 the following bundles are created:
For the second scanline SL2 the following bundles are created:
For the (k+1)th scanline SL7, the following bundles may be formed:
Since the memory 110 of the logic unit is typically a small memory capable of storing only one or a couple of scanlines, the bundles are written into the second memory 200 before the first memory is full, and preferable before the next scanline arrives. So, after having created the bundles for the first scanline SL1, bundles B1a, B1b, B6′a, B6′b, B12′a, B12′b, etc. are written into the second memory 200, then the second scanline SL2 is grouped into bundles B2a, B2b, B5′a, B5′b, etc., and the bundles B2a, B2b, B5′a, B5′b, etc. are written in the second memory 200. These steps are repeated until all pixels for which nozzles of the inkjet heads 310, 320, 330 have to be fired at the first point in time t1 are available in the second memory. Since scanline SL43 is the last scanline containing pixels to be fired at the point in time t1, after having stored the bundles for scanline SL43 in the second memory 200, the nozzles of the inkjet heads 310, 320, 330 may be fired in accordance with the first bundles at the point in time t1. After scanline SL44 has been received, grouped in bundles, and stored in the second memory 200, the nozzles of the inkjet heads 310, 320, 330 may be fired in accordance with the second bundles B2a, B2b, etc. at the second point in time t2.
In
In another exemplary embodiment illustrated in
Embodiments of the invention are also applicable in other types of inkjet heads. Another example of an inkjet head is illustrated in
Also for such an inkjet head, the creating of bundles as explained above in connection with
Particular embodiments of the invention relate to the field of digital printing systems and methods for so-called “continuous” webs, i.e. printing systems where a continuous roll of substrate (e.g., paper, plastic foil, or a multi-layer combination thereof) is run through the printing station at a constant speed, in particular to print large numbers of copies of the same image(s), or alternatively, series of images, or even large sets of individually varying images.
The functions of the various elements shown in the figures, including any functional blocks labelled as “logic units”, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “logic unit” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included.
Whilst the principles of the invention have been set out above in connection with specific embodiments, it is to be understood that this description is merely made by way of example and not as a limitation of the scope of protection which is determined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2020646 | Mar 2018 | NL | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/056972 | 3/20/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2019/180086 | 9/26/2019 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5619622 | Audi et al. | Apr 1997 | A |
20030072036 | Silverbrook et al. | Apr 2003 | A1 |
20110254889 | Miller et al. | Oct 2011 | A1 |
Number | Date | Country |
---|---|---|
2004237599 | Aug 2004 | JP |
2010006066 | Jan 2010 | JP |
2014019046 | Feb 2014 | JP |
2016068462 | May 2016 | JP |
Entry |
---|
International Search Report and Written Opinion, PCT Application No. PCT/EP2019/056972, dated May 24, 2019, 9 pages. |
Number | Date | Country | |
---|---|---|---|
20210046765 A1 | Feb 2021 | US |