1. Technical Field
The invention relates to a thermal printing system. More particularly, this invention relates to an apparatus and method of controlling the heaters on a thermal print head to compensate for the effects of latent heat.
2. Discussion of the Prior Art
In thermal printing systems, also known as die sublimation printing systems, the print head is comprised of a line of resistive heat-generating elements or heaters mounted on a substrate. Generally, the heaters are placed uniformly and in a single line. The proximity and size of the heaters depends upon the desired resolution. In a typical die sublimation print head, resolutions are in the range of 200 to 600 heaters per inch, corresponding to a resolution of, for example 600 dots-per-inch (dpi) in the later case. The heater may be warmed up by selectively passing an electric current through any one of the desired heaters. The electric current is applied to those heaters where it is desirable to cause a pixel to be thermally transferred on to a printing material such as, for example, a sheet of paper.
A typical printer system 100 is shown with respect to
To reach the necessary temperature the heater is heated to a level corresponding to the specific grey level of the desired color. Typically an 8-bit resolution is used for the grey level, i.e. values in the range of 0-255 for each of the printed colors.
Because thermal print heads are physical devices, they tend to have a heat retention, or memory that keeps a certain amount of residual heat on the heater. This residual heat adversely affects the quality of the printed image. The effect of the heat of a single pixel on the heat levels of yet to be printed pixels is schematically shown in
Another approach is shown by Spano in U.S. Pat. No. 6,784,909, where one or two previous lines of printing are examined and a predetermined compensation value is provided respective of the pattern of dots. The dot history is provided row-to-row, adjacent dots to the central dot being actuated. One advantage of Spano over Klinefelter is that it is not necessary to pre-calculate the compensation values for each and every dot of the entire page in advance of the beginning of the printing process. However, this system still requires a significant amount of compute power to allow for engine speed printing of a page.
Other solutions provide varying models to more or less accurately adjust the printing level to the specific image at hand.
In view of the limitations of prior art solutions, there is a need for a technique that overcomes the deficiencies of such solutions. Specifically, it would be advantageous to provide a solution that does not require significant amounts of memory and does not require significant compute power. It would be further advantageous if the solution were able to take into account the characteristics of the print head in respect of printing of photographic images.
An apparatus and method for the compensation of the effects of residual heat of the resistive heads of a thermal print head is discussed. In photographic applications, the general residual heat pattern through the pass of a page in front of the print head is characterized in advance and is generally unique to each type of printer head. Thereafter compensation is made based on this characteristic. In one embodiment of the invention, data are collected over time and the print head thermal characterization is updated and stored for future use, for example, in a non-volatile memory. In another embodiment, the compensation value is adjusted based on actual data from previous pixels identified as likely to have more significant impact on the heat affecting the performance of a specific pixel of the print head. Based on the compensation data generated, the resistive heaters are driven to ensure the desired photographic characteristics of the printed image.
When the primary use of a thermal printer is for printing photographs, certain corrections of the thermal print head drive functions can be achieved using statistical information about the nature of photographic pictures printed by such printers. Specifically, when printing photographic pictures, the thermal history of the thermal print head is generally similar for practically most of the photographic prints used. Therefore, it is possible to use correction solutions which are simpler, faster, and less costly to implement than those shown in prior art. The thermal history characteristics of the thermal print head may be mapped, for example, by checking the thermal history of a plurality of photographs that has already been printed and preparing correction tables containing a plurality of correction values, where each value corresponds to a certain dot printed at a certain line of the image. The correction value is applied whenever necessary. A correction is provided by monitoring the heat history of a row of dots and a column of dots. Then, a specific dot to be printed is corrected by the correction value respective of the specific row and specific column where the next dot to be printed resides by applying the necessary correction to such dot. In one embodiment of the invention, both methods are used to provide more precise results without making the system as complicated as prior art solutions.
Compensation=Cr(row)+Cc(col) (1)
P′(row, col)=P(row, col)−Compensation
Because of the heat residue it is necessary to provide less drive to the print head than would otherwise be required if no dots were to be printed other than the specific dot or pixel. The specific correction functions Cr and Cc are, in comparison to prior art solutions, easy to compute on the fly and are dependent on the specific characteristics of the print head. Following the thermal inertia of the print head and implementation constraints, the linear heat compensation in equation (1) may be performed with progressive levels of precision. The correction values act as a weighted correction for the current image pixel P(row,col):
Compensation=P(row, col)*(Cr(row)+Cc(col)) (2)
P′(row, col)=P(row, col)−Compensation
The main difference between equations (1) and (2) is that heat compensation is proportional to image pixel level so it depends locally on the image content. Depending on the computational constraints, the correction functions may be sub-sampled to a reduced grid over the image, resulting in:
Compensation=P(row, col)*(Cr(row*)+Cc(col*)) (3)
P′(row, col)=P(row, col)−Compensation
Where (row*,col*) is the nearest grid point to the current image pixel position (row,col).
In addition, other correction values may also be taken into account, as further detailed below. In step S540, the column counter is advanced to the next column and, in step S550, a determination is made whether the last dot in the line has been reached. If the last dot in the line has been reached execution continues with step S560. Otherwise, execution continues with step S530. In step S560, the correction values are updated based on the information gathered for the current line. The values are used as part of the correction values for the next line to be printed. For example, each register in the register bank 320 receives a new average value, and the current register of register bank 330 receives, for example, the average value for the current row. In such a case, linear heat compensation may be achieved as follows:
Compensation=P(row, col)*(Cr(row)*Dr(row)+Cc(col)*Dc(col)) (4)
P′(row, col)=P(row, col)−Compensation
Where Dr and Dc are generally easy to compute average density functions over a well chosen context around the current image pixel.
In one embodiment of the invention, segments of dots, for example three adjacent dots, are used to create an average, or a weighted average, for a center image pixel, on a per line basis, for determining the specific column average, thereby increasing the accuracy. In one embodiment of the invention, the averaging on a per column basis adds the data from the current line but removes from the average the contribution of an earlier line.
In yet another embodiment a weighted average is combined with linear heat compensation as follows:
Compensation=P(row, col)×(Cr(row)+Cc(col))
P′(row, col)=P(row, col)−Compensation−WeightedAverage (5)
Where WeightedAverage is computed by performing the following sequence:
In step S570 the row counter is incremented to point to the next in turn line; and in step S580, a determination is made whether the maximum number of lines has been reached. If the maximum number of lines has not been reached execution continues with step S525. Otherwise, execution ceases because the page has reached its end.
The heat-history correction function for the teachings made herein and, more specifically, for printing from the top to the bottom of the length of the page, have the characteristics shown in
Yet another aspect of the invention concerns compensation of photographic thermal printed heads, i.e. those print heads intended for use when printing photographs. While for the eye photographs show significant differences, the heat-history, or residual heat, was found to be by the inventors, when checking a plurality of exemplary photographic images, to have a generally similar heat-history profile. Therefore, in accordance with an embodiment of the invention, the compensation function may be based solely on a table stored in an NVM 430, and which requests from a determination of the compensation factor per pixel to be printed, based on testing a large number of photographic images. In another embodiment of the invention, and for the purpose of achieving additional accuracy, the per row and per column compensation discussed above is combined with the pre-determined compensation to provide a more accurate compensation while maintaining the simplicity and performance of the invention.
Compensation=P(row, col)×(Cr(row)+Cc(col))
P′(row, col)=P(row, col)−Compensation−Ct(row,col) (6)
Where the value Ct(row,col) is provided from the look-up table. If only the look-up table method is used, then the new pixel drive is calculated as:
P′(row, col)=P(row, col)−Ct(row,col) (7)
Hence, no local addition and multiplication are required. Following the image type, an external optimization process concentrates compensation on the construction of the look up table function Ct. Note that the function Ct may be non-separable and non-linear with respect to the position (row, col).
In one embodiment of the invention, a plurality of lookup table are stored for use by the print head. Based on the characteristics of the image to be printed the most appropriate of the compensation lookup tables is used. Following the targeted implementation constraints, equation (6) may be used in combination with linear heat compensation variants described in equations (2), (3), (4), and (5). In another embodiment of the invention, the methods herein are included in a computer software product that contains a plurality of instructions. The plurality of instructions, when executed, implement the methods disclosed herein.
Although the invention is described herein with reference to some preferred embodiments, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the Claims included below.