Industrial ink jet printing methods and apparatus
8 claims: 4 independent, 4 dependent
- 1CLAIMS:1. A method of securely driving an industrial inkjet-type printer having a print head, the method comprising: receiving print data for driving nozzles of said print head;encrypting said print data to provide encrypted data corresponding to said print data;outputting said encrypted data onto a transmission line;transmitting said encrypted data over said transmission line to a receiver;receiving said encrypted data at said receiver;decrypting said encrypted data to provide said print data;and driving said nozzles of said print head using said print data, wherein said encrypting comprises encrypting said print data using an HDCP compatible encryption standard.
- 4A print engine for securely driving nozzles of a print head, the print engine comprising:an input for receiving encrypted data corresponding to print data for driving said nozzles of said print head;decryption means for decrypting said encrypted data into said print data for driving said print head;and an output for driving said nozzles of said print head using said print data, wherein said decryption means comprises means for decrypting said print data encrypted using an HDCP compatible encryption standard.
- 8A method, print engine, printer, system or carrier substantially as described herein with reference to the accompanying diagrams in Figures 6 to 7.
Independent claims4
47 paragraphs, as filed
Industrial ink jet printing methods and apparatus
This invention relates to methods and apparatus for industrial ink jet printing, in particular to ink jet printing using print heads having a data bit rate requirement of at least 500Mbps. The invention also relates to methods and apparatus for secure industrial inkjet printing.
Ink jet printers are known in the art for printing images onto a medium (e.g. paper) using a variety of different inks. They have many advantages over other forms of printing, in particular they may be configured to print large areas in colour or black and white relatively quickly and they are relatively inexpensive compared with other printing technologies. Inkjet printers also have applications in materials deposition, including functional and non-functional materials (e.g. for fabricating circuits and/or display devices on a variety of substrates).
Figure 1 shows an example of an industrial ink jet printing application. Three print heads (2) are provided, spaced equally apart, to print an example image very quickly on a substrate (1), e.g. paper. The print heads may be mechanically connected together and operated by the same mechanism, so that for the purposes of this application they may be considered a single print head. Industrial inkjet printers may have very large numbers of nozzles, for example 1000 nozzles, implemented either as a single print head or as a series of smaller print heads. A printer may have a print head capable of printing along the entire length or width of the substrate, so that the desired image may be printed very quickly, for example in just a single pass.
Figure 2 shows an example print path for the print heads of Figure 1. In this example, the complete image may be printed in two passes, a forward pass and a reverse pass. Other print paths are also possible. Note that each print head follows the same path with respect to one another, because they are mechanically connected together and controlled by the same mechanism. The controller responsible for sending data to the print heads (sometimes known as a print engine) may send data in response to a single control signal or set of control signals for all the print heads.
The data requirements for industrial print heads may be very large, for example in the range 1 to 1 OGbps (gigabits per second) or higher. This presents a problem for the designer of the interface between the printer and its controller, for example a conventional personal computer. Universal Serial Bus (USB) provides 12Mbps at USB 1.1 “Full speed”, or 480Mbps at USB2.0 “High speed”, and these are theoretical maximum bit rate figures, not including any overhead. Firewire can provide 400 or 800Mbps, Ethernet 10 or 100Mbps and CANbus (Controller Area Network) 1Mbps, again all theoretical maximum figures.
Clearly none of these provides sufficient data for modern industrial inkjet printers to operate at their maximum capacity. One solution is to provide multiple links in parallel, perhaps using a set of computers operating in parallel, optionally with a further master computer to control the slave computers. However this adds greatly to the cost of the system and to the complexity of installing it, configuring it and running it.
An alternative would be to provide a bespoke communications interface between the computer and the printer, using a custom high bandwidth link (possibly over multiple wires in parallel) and interfacing with the computer’s internal PCI or PCI Express bus. PCI (Peripheral Component Interconnect) provides 1.06Gbps in the most common 32bit 33MHz version, and 2.13Gbps in the 64bit 33MHz version (found in motherboards for server computers). Revision 2.1 of the standard provides a 64bit 66MHz version capable of 4.26Gbps, but this configuration is not often provided in motherboards for personal computers. PCI Express provides a variety of different bit rates, using different numbers of ‘lanes’ (each lane providing a full duplex communication channel capable of 2.5Gbps). PCI Express interfaces are frequently found in lx, 4x and 16x forms, providing 2.5Gbps, lOGbps and 40Gbps respectively.
However, the initial cost of developing such a bespoke system would be very high, and represents a significant obstacle for the development of an industrial ink jet printer communications system intended for low volume production or a one-off installation. It would be advantageous to provide a communications system for an industrial ink jet printer with a maximum bit rate capacity higher than the conventional interfaces described above, but without the high development cost of a bespoke system.
Also, as companies and organisations become more aware of the value of ‘soft’ assets such as intellectual property (e.g. copyright, trade marks, brands, logos, merchandising franchises), and as production moves from high cost economies to low cost economies, there becomes a need to protect assets such as copyrighted and/or trade marked images used in industrial ink jet printing for the manufacture of articles such as t-shirts, posters, football shirts, mugs and other mass-produced articles. Conventionally a design is provided to a third party production company in a low cost economy under licence for them to manufacture the articles and then ship them to the owner of the design for sale in a high cost economy. The design may be provided in a conventional unencrypted file format such as jpeg, tiff or png (for scalar graphics) or a vector graphic format such as eps, but whenever a design is allowed to leave the boundaries of the owning organisation there is a risk that it will be used to produce unauthorised copies for sale to the detriment of the owner and for the benefit of unauthorised parties.
This problem may be alleviated to some extent by encrypted the design files using cryptography such as public key cryptography as known in the art, and only providing the keys to select few individuals in the production company. However, as the design has to be unencrypted in order to send it to the industrial inkjet printers for production, there remains a risk that an unencrypted version will fall into the wrong hands. Even if all the unencrypted design files are deleted after the appropriate number of licensed articles have been made, anyone with access to the computer (after hours, for instance) could gain access to them by un-deleting them or by physically removing the hard drive from the computer and scanning the filesystem looking for the deleted files. Image files can be very easy to locate within arbitrary data, because their characteristics can be quite different from program code.
It would be advantageous to provide an industrial inkjet printing system in which the above problems are overcome, and especially advantageous to provide a system which allows the original owner of a design to control how many copies of his design are produced by a production company, and to prevent unauthorised copies from being produced.
We describe a method of driving an industrial inkjet-type printer, said printer having a print head with a requirement for a data input speed of at least 500Mbps, the method comprising receiving print data for driving said print head, converting said print data into data for a video image display comprising digital image display representation data including data for one or more colour channels, suitable for output to an image display device, said digital image display representation data comprising data configured to reproduce said video image display when output to said image display device, and wherein said converting comprises converting such that said digital image display representation data corresponds to said print data, outputting said digital image display representation data onto a transmission line, transmitting said digital image display representation data over said transmission line to a receiver, receiving said digital image display representation data at said receiver, and driving said print head using said digital image display representation data.
The method may be used to drive a printer at a data rate of at least 500Mbps (megabits per second), more preferably lGbps, 2Gbps, 5Gbps, lOGbps or higher. The printer may be equipped with a DVI interface for receiving the data; versions of DVI including 1.0 and higher may be suitable for this method. Some versions of DVI have a clock rate limitation of 165MHz for single channel links imposed by the standard; others may operate at higher speeds. This method may be performed using either type. One advantage of DVI is that it allows higher data rates than are possible using interfaces such as USB2. 480Mbps is the theoretical upper limit for USB2 transfers but actual throughput will be less due to overheads incurred with the USB protocol.
Various screen resolutions, pixel bit depths, frame rates and numbers of channels (including single link and dual link red, green and blue channels separately and in combination) may be used to achieve the desired data throughput. For example, 1024 x
768 in 24 bit colour (8 bits per pixel for red, green and blue channels) at 60Hz can provide a data rate of over lOGbps and many other combinations are also possible (e.g. 640 x 480, 800 x 600, 1152 x 864, 1280 x 960, 8 bit or 16 bit depths for one or two channels, or increased colour depths such as 12 bits per channel, and 50Hz, 72Hz, 75Hz, 80Hz, 90Hz and 100Hz frame rates).
The data sent over the DVI interface need not resemble the desired image if displayed on a DVI-capable monitor; in fact it may be preferably arranged in a form suitable for driving the print head directly, so that the print head may be driven with little or no local storage of the print data. Depending on the data ordering used to drive the nozzles of the print head and the order of printing across the page, the data may not resemble the desired image if displayed on a monitor. The data may comprise a portion of a displayed frame or a sequence of frames, depending on how much data is transferred over the DVI interface to send the print data to the printer.
We also describe a print engine for driving a print head with a requirement for a data input speed of at least 500Mbps, the print engine comprising a digital video input for receiving data for a video image display comprising digital image display representation data including data for one or more colour channels, said digital image display representation data corresponding to print data for driving said print head, a converter for converting said digital image display representation data into said print data for driving said print head, and an output for driving said print head using said print data.
According to an aspect of the present invention there is provided a method of securely driving an industrial inkjet-type printer having a print head, the method comprising receiving print data for driving nozzles of said print head, encrypting said print data to provide encrypted data corresponding to said print data, outputting said encrypted data onto a transmission line, transmitting said encrypted data over said transmission line to a receiver, receiving said encrypted data at said receiver, decrypting said encrypted data to provide said print data, and driving said nozzles of print head using said print data, wherein said encrypting comprises encrypting said print data using an HDCP compatible encryption standard.
According to a further aspect of the present invention there is provided a print engine for securely driving nozzles of a print head, the print engine comprising an input for receiving encrypted data corresponding to print data for driving said nozzles of said print head, decryption means for decrypting said encrypted data into said print data for driving said print head, and an output for driving said nozzles of said print head using said print data, wherein said decryption means comprises means for decrypting said print data encrypted using an HDCP compatible encryption standard.
We also describe a system for securely driving an industrial inkjet-type printer, the system comprising a memory storing print data for an image, an output suitable for connecting to said printer, and a processor coupled to said memory, the processor being configured to, when running, execute processor control code including instructions to encrypt said print data provide encrypted data corresponding to said print data, and output said encrypted data using said output.
We further describe processor control code to implement the above-described methods, for example on a general purpose computer system or on a digital signal processor (DSP). The code may be provided on a carrier such as a disk, CD- or DVD-ROM, programmed memory such as read-only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. Code (and/or data) to implement embodiments of the invention may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code. The above described methods may also be implemented, for example, on an FPGA (field programmable gate array) or in an ASIC (application specific integrated circuit). Thus the code may also comprise code for setting up or controlling an ASIC or FPGA, or code for a hardware description language such as Verilog (Trade Mark), VHDL (Very high speed integrated circuit Hardware Description Language), or RTL code or SystemC. Typically dedicated hardware is described using code such as RTL (register transfer level code) or, at a higher level, using a language such as C. As the skilled person will appreciate such code and/or data may be distributed between a plurality of coupled components in communication with one another.
Features of the above described aspects of the invention may be combined in any permutation.
These and other aspects of the invention will now be described in detail, with reference to the accompanying drawings, in which:
Figure 3a shows an inkjet printing system according to the present invention.
Figure 3 b shows a block diagram of a print engine according to the present invention.
Figure 4 shows a flowchart of a method for outputting print data using a digital video interface according to the present invention.
Figure 5 shows a flowchart of a method for receiving print data at a printer using a digital video interface according to the present invention.
Figure 6 shows a flowchart of a method for outputting encrypted print data according to the present invention.
Figure 7 shows a flowchart of a method for receiving encrypted print data at a printer according to the present invention.
Figure 8 shows a block diagram of a computer suitable for connecting to a printer according to the present invention.
We will describe solving the above-mentioned problems by utilising the DVI (Digital Visual Interface) output of modem computer graphics cards to provide a data bit rate in excess of 500Mbps to drive a print head. We will also describe providing a printer with a cryptographic capability, so that image data may be kept in encrypted form right up until the moment of printing, and only provided in decrypted form to the print head interface inside the printer. These aspects may be optionally combined, to provide secure, high volume printing of valuable image content such as copyrighted works and/or trade marks.
Figure 3a shows an ink jet printing system comprising a computer having a video card with a DVI interface connected to a printer incorporating a print engine according to the present invention. By utilising the DVI interface, a high bit rate connection between computer and printer can be realised using commonly available, off-the-shelf parts. Video cards having DVI interfaces are known in the art for providing digital video signals to computer monitors, particularly LCD monitors. DVI and a later consumer standard compatible with DVI called HDMI (High Definition Multimedia Interface) both provide digital signals for red, green and blue components of a video display, along with clock information. They employ an 8 bit to 10 bit encoding system called Transition Minimized Differential Signalling (TMDS) to reduce electromagnetic interference caused by the signals (by minimising the number of transitions on the line) and to reduce the de component of the signal being transmitted, regardless of the actual data content of that signal. TMDS transmitter and receiver ICs may be obtained from Silicon Image, Inc. of Sunnyvale, California, USA.
The computer of Figure 3a stores the image data to be printed, and may also have device drivers for the printer of Figure 3a suitable for converting image data into print data of a form suitable for sending to the printer. This may entail, among other things, ordering the data for little endian or big endian formats, interleaved RGB or separate red, green and blue data and ordering the data for the particular arrangement of print heads and/or print head nozzles within the printer and print head paths taken by the printer mechanism to print the image. As the skilled person will appreciate, some of this can be done in the computer and some in the printer, as long as the computer outputs print data in a format the printer can handle.
We describe outputting the print data to the printer using the DVI interface of the computer’s graphics card, by writing print data to a frame buffer in the graphics card’s memory and programming the graphics card to display an image corresponding to that data using the DVI interface. Optionally the graphics card may have more than one interface; it may be advantageous to use a secondary interface on the graphics card for this purpose while using the primary interface for screen display purposes as normal.
The data written to the frame buffer may not necessarily resemble the original image data if displayed on a DVI monitor; in fact it may not be a single, static image at all but a portion of an image or a succession of images depending on how much print data needs to be transferred to the printer. The data may be written to the frame buffer so that the video card outputs it over the DVI interface in an order that resembles the original print data, whether this be over individual colour channels in series or all at once in parallel. The data sent down the red, green and blue channels need not correspond to red, green and blue data in the print data; in any case printers often use CMYK (cyan, magenta, yellow and black) process colours instead.
The data bit rate of DVI is very high, depending on the version of the interface used, but modern personal computers are well optimised for sending data to the video card in this manner and so the computer should be able to keep up. In particular, graphics cards using AGP 8x and PCI-Express 16x interfaces may be particularly suitable for this system. The TMDS encoding system used by DVI may be provided by DVI transmitters and receivers in hardware (without requiring software code to perform 8 to 10 encoding and decoding). Alternatively, TMDS may be dispensed with altogether, particularly if a graphics card is available with a DVI output which allows non-TMDS encoding.
Figure 3b shows a block diagram of a print engine (31) suitable for use with this system, which may be incorporated into a printer. The print engine has a DVI input (32). Note that, while the DVI output on a computer graphics card may use a connector according to the DVI standard (or optionally an HDMI connector according to the HDMI standard), the print engine may use a different connector if so desired, although use of a standard DVI connector does allow use of standard DVI interconnecting leads. The signals carried over the connectors are the same in either case. These are input to TMDS decoder (33) which often incorporates signal termination and buffering according to the DVI standard.
Decryption hardware (33) relates to an optional cryptographic aspect of the invention, which will be described later. If not required, it may simply buffer the incoming print data and output it to the print head output (34) connected to the print head elsewhere in the printer (not actually part of the print engine). This may entail storing the data in a memory, if the data comes in at a different bit rate or at different times from the data going out to the print head. Data sent over DVI may be sent using GTF (General Timing Formula) timings (part of the VESA standard), or using LCD timing such as 5% blanking. The print head may require data according to the movement of the print head along a print path; this is a mechanical operation and so it may be advantageous to control the output of the data according to the movement of the print head rather than to control the movement of the print head according to the rate of data coming in. Optionally the system may include an independent back channel from the printer to the computer. This may be implemented using the DDC (Display Data Channel) interface of the DVI standard, or a separate interface. This may allow the printer to send control information such as the firing pulses from the print head back to the computer, or status information such as the position of the print head.
Figure 4 shows the method carried out at the computer. Print data is input at step 41, and converted into data for the DVI colour channels (red, green and blue, optionally two bits for each in dual link DVI) at step 42. This is encoded using TMDS at step 43 and output at the DVI connector at step 44. Step 43 may take place in the DVI transmitter IC on the graphics card hardware, rather than in software as in step 42. The skilled person will recognise that both steps could take place in software or using dedicated hardware.
Figure 5 shows the method earned out at the print engine. Encoded video data is input at step 51, using a DVI-compatible interface. This may be compatible at the electrical level, optionally the mechanical level too. This is decoded using TMDS in step 52 and the original print data is recovered from the colour channel data in step 53, before being finally output to the print head in step 54.
Returning to Figure 3b, a related aspect of the invention which may be used with the above DVI methods and apparatus or separately will now be described. The print data may be encrypted using any cryptographic method known in the art, for example DES (Data Encryption Standard), RSA (Rivest, Shamir & Adleman) or, advantageously for DVI, HDCP (High-bandwidth Digital Content Protection). HDCP maybe advantageous because dedicated hardware to decrypt HDCP streams is already commercially available, although the advantages of a proprietary encryption scheme may outweigh this consideration.
This allows the owner of the image to be printed to control how it is duplicated. Anyone who gains access to the encrypted content will find it is useless without the accompanying key to decrypt it. This may be provided under restricted circumstances, for example using a smart card plugged into the printer, and the printer may keep track of how many times it has been used to print the image. Only a printer capable of decrypting the encrypted data, coupled with the right key for decrypting the data, will be able to print the image, and thus it may be possible to control for what purpose the decrypted data (the image) is used. For example, the owner of the content may specify a certain number of iterations of printing (and no more), and the print may keep track of this by storing a counter in non-volatile memory and incrementing it each time it prints the image. If the printer detects any attempt to tamper with this, for example by opening the case and resetting the non-volatile memory, it may refuse to print altogether. Security may be further improved by providing the critical parts of the system in tamper-proof housing, as known in the art.
Figure 6 shows a method of encrypting the print data which may be carried out at the content owner’s site before sending the encrypted data to the manufacturing company. Print data corresponding to the image is input at step 61 and the content owner’s encryption key is input at step 62. The print data is encrypted using the encryption key according to any encryption method; DES, RSA and HDCP are shown as examples although proprietary encryption methods may be employed for additional security or to provide additional features. The data is output in step 64. This may comprise storing it in the computer’s memory for later transmission or writing it on recordable media for sending to the production company. At this stage the content owner may also decide the restrictions to be placed upon the use of the encrypted data; this may be included in the data for reading at the production company’s printer.
Figure 7 shows a method of decrypting the print data which may be carried out in the printer at the production company. Encrypted data is input at step 71. This may comprise receiving data at the printer over a conventional link such as IEEE1284 (parallel interface), RS232 or USB, or the high-speed DVI digital link described previously. The decryption key is provided at step 72. Preferably the providing of the decryption key is made conditional upon an authorised person being present, for example by providing this key from a smart card issued only to one person within the production company. The print data is decrypted in step 73 and output to the print head in step 74. Optionally this outputting may be made conditional upon certain factors too, such as the number times an image is allowed to be printed not being exceeded, or other metrics measurable by the printer such as a total number of printed pixels not being exceeded or a total amount of ink used not being exceeded. The printer may keep track of metrics such as these in non-volatile memory stored in a tamperproof housing within the printer.
Figure 8 shows a block diagram of a computer system suitable for use with the abovedescribed methods. A conventional computer system having the interfaces shown may be used. For the method of Figure 4, a computer system having a DVI video output and the appropriate software to convert print data into the appropriate series of images to be written to the frame buffer may be used. For the method of Figure 6, a computer system may be used having cryptographic software and optionally a GUI (graphical user interface) for selecting an image to be encrypted and for choosing the appropriate restrictions for the Digital Rights Management to be applied to the image.
No doubt many other effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.
21 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0929023A1 | Cites | European Patent Office (EPO) | Search report |
| EP1451725A1 | Cites | European Patent Office (EPO) | Search report |
| EP1520221A2 | Cites | European Patent Office (EPO) | Search report |
| EP1646922A1 | Cites | European Patent Office (EPO) | Search report |
| JP2003231304A | Cites | Japan | Search report |
| US2003231767A1 | Cites | United States of America | Search report |
| US2006212926A1 | Cites | United States of America | Search report |
| GB2387691A | Cites | United Kingdom | Search report |
1 priority claim, no other members on record
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 0618144 | United Kingdom | A |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Patent ceased through non-payment of renewal feeCeasedPCNP | PCNP |
Numbers
- Publication
- 2474792
- Application
- 201102005
Titles
- English
- Industrial ink jet printing methods and apparatus
Classification
- CPC, 12
- G06F21/608
- B41J2/01
- G09G5/006
- H04L63/0428
- B41J2/04501
- G06F3/1297
- G06F3/12
- G06K15/102
- H04N1/32128
- H04N2201/3246
- H04N2201/3216
- H04N2201/3281
- IPC, 6
- B41J2 01
- G06F3 12
- G06F21 60
- G06K15 10
- H04L29 06
- H04N1 32
