Thermal response correction system

A model of a thermal print head is provided that models the thermal response of thermal print head elements to the provision of energy to the print head elements over time. The amount of energy to provide to each of the print head elements during a print head cycle to produce a spot having the desired density is calculated based on: (1) the desired density to be produced by the print head element during the print head cycle, (2) the predicted temperature of the print head element at the beginning of the print head cycle, (3) the ambient printer temperature at the beginning of the print head cycle, and (4) the ambient relative humidity.

BACKGROUND

1. Field of the Invention

The present invention relates to thermal printing and, more particularly, to techniques for improving thermal printer output by compensating for the effects of thermal history on thermal print heads.

2. Related Art

Thermal printers typically contain a linear array of heating elements (also referred to herein as “print head elements”) that print on an output medium by, for example, transferring pigment or dye from a donor sheet to the output medium or by activating a color-forming chemistry in the output medium. The output medium is typically a porous receiver receptive to the transferred pigment, or a paper coated with the color-forming chemistry. Each of the print head elements, when activated, forms color on the medium passing underneath the print head element, creating a spot having a particular density. Regions with larger or denser spots are perceived as darker than regions with smaller or less dense spots. Digital images are rendered as two-dimensional arrays of very small and closely-spaced spots.

A thermal print head element is activated by providing it with energy. Providing energy to the print head element increases the temperature of the print head element, causing either the transfer of pigment to the output medium or the formation of color in the receiver. The density of the output produced by the print head element in this manner is a function of the amount of energy provided to the print head element. The amount of energy provided to the print head element may be varied by, for example, varying the amount of power to the print head element within a particular time interval or by providing power to the print head element for a longer time interval.

In conventional thermal printers, the time during which a digital image is printed is divided into fixed time intervals referred to herein as “print head cycles.” Typically, a single row of pixels (or portions thereof) in the digital image is printed during a single print head cycle. Each print head element is typically responsible for printing pixels (or sub-pixels) in a particular column of the digital image. During each print head cycle, an amount of energy is delivered to each print head element that is calculated to raise the temperature of the print head element to a level that will cause the print head element to produce output having the desired density. Varying amounts of energy may be provided to different print head elements based on the varying desired densities to be produced by the print head elements.

One problem with conventional thermal printers results from the fact that their print head elements retain heat after the conclusion of each print head cycle. This retention of heat can be problematic because, in some thermal printers, the amount of energy that is delivered to a particular print head element during a particular print head cycle is typically calculated based on an assumption that the print head element's temperature at the beginning of the print head cycle is a known fixed temperature. Since, in reality, the temperature of the print head element at the beginning of a print head cycle depends on (among other things) the amount of energy delivered to the print head element during previous print head cycles, the actual temperature achieved by the print head element during a print head cycle may differ from the calibrated temperature, thereby resulting in a higher or lower output density than is desired. Further complications are similarly caused by the fact that the current temperature of a particular print head element is influenced not only by its own previous temperatures—referred to herein as its “thermal history”—but by the ambient (room) temperature and the thermal histories of other print head elements in the print head.

As may be inferred from the discussion above, in some conventional thermal printers, the average temperature of each particular thermal print head element tends to gradually rise during the printing of a digital image due to retention of heat by the print head element and the over-provision of energy to the print head element in light of such heat retention. This gradual temperature increase results in a corresponding gradual increase in density of the output produced by the print head element, which is perceived as increased darkness in the printed image. This phenomenon is referred to herein as “density drift.”

Furthermore, conventional thermal printers typically have difficulty accurately reproducing sharp density gradients between adjacent pixels both across the print head and in the direction of printing. For example, if a print head element is to print a white pixel following a black pixel, the ideally sharp edge between the two pixels will typically be blurred when printed. This problem results from the amount of time that is required to raise the temperature of the print head element to print the black pixel after printing the white pixel. More generally, this characteristic of conventional thermal printers results in less than ideal sharpness when printing images having regions of high density gradient.

The above-referenced U.S. patent application Ser. No. 09/934,703, entitled “Thermal Response Correction System,” discloses a model of a thermal print head that models the thermal response of thermal print head elements to the provision of energy to the print head elements over time. The thermal print head model generates predictions of the temperature of each of the thermal print head elements at the beginning of each print head cycle based on: (1) the current temperature of the thermal print head as measured by a temperature sensor, (2) the thermal history of the print head, and (3) the energy history of the print head. The amount of energy to provide to each of the print head elements during a print head cycle to produce a spot having the desired density is calculated based on: (1) the desired density to be produced by the print head element during the print head cycle, and (2) the predicted temperature of the print head element at the beginning of the print head cycle.

Although such techniques take the temperature of the print head into account when performing thermal history control, the techniques disclosed in the above-referenced patent application do not expressly take into account changes in ambient printer temperature over time when performing thermal history control. Similarly, any thermal effects of humidity are not expressly taken into account by the techniques disclosed in the above-referenced patent application.

What is needed, therefore, are improved techniques for taking into account the ambient printing conditions, so as to render digital images more accurately.

SUMMARY

A model of a thermal print head is provided that models the thermal response of thermal print head elements to the provision of energy to the print head elements over time. The amount of energy to provide to each of the print head elements during a print head cycle to produce a spot having the desired density is calculated based on: (1) the desired density to be produced by the print head element during the print head cycle, (2) the predicted temperature of the print head element at the beginning of the print head cycle, (3) the ambient printer temperature at the beginning of the print head cycle, and (4) the ambient relative humidity.

In one aspect of the present invention, a method is provided which includes steps of: (A) identifying a first print head temperature Tsof a print head in a printer; (B) identifying a current ambient temperature Trin the printer; (C) identifying a modified print head temperature Ts′ based on the first print head temperature Tsand the ambient printer temperature Tr; and (D) identifying an input energy to provide to a print head element in the print head based on the modified print head temperature Ts′. The step (D) may include a step of identifying the input energy to provide to the print head element based on the modified print head temperature Ts′ and a current relative humidity.

In another aspect of the present invention, a method is provided for use in conjunction with a thermal printer including a print head element. The method includes a step of: (A) computing an input energy to provide to the print head element based on a current temperature of the print head element, an ambient printer temperature, and a plurality of one-dimensional functions of a desired output density to be printed by the print head element.

In another aspect of the present invention, a method is provided for use in conjunction with a thermal printer having a print head including a plurality of print head elements. The method develops, for each of a plurality of print head cycles, a plurality of input energies to be provided to the plurality of print head elements during the print head cycle to produce a plurality of output densities. The method includes steps of: (A) using a multi-resolution heat propagation model to develop, for each of the plurality of print head cycles, a plurality of predicted temperatures of the plurality of print head elements at the beginning of the print head cycle; and (B) using an inverse media model to develop the plurality of input energies based on the plurality of predicted temperatures, a plurality of densities to be output by the plurality of print head elements during the print head cycle, and at least one ambient printer temperature.

Other features and advantages of various aspects and embodiments of the present invention will become apparent from the following description and from the claims.

DETAILED DESCRIPTION

A model of a thermal print head is provided that models the thermal response of thermal print head elements to the provision of energy to the print head elements over time. The amount of energy to provide to each of the print head elements during a print head cycle to produce a spot having the desired density is calculated based on: (1) the desired density to be produced by the print head element during the print head cycle, (2) the predicted temperature of the print head element at the beginning of the print head cycle, (3) the ambient printer temperature at the beginning of the print head cycle, and (4) the ambient relative humidity.

The above-referenced patent application entitled “Thermal Response Correction System” disclosed a model of a thermal print head that models the thermal response of thermal print head elements to the provision of energy to the print head elements over time. The history of temperatures of print head elements of a thermal print head is referred to herein as the print head's “thermal history.” The distribution of energies to the print head elements over time is referred to herein as the print head's “energy history.”

In particular, the thermal print head model generates predictions of the temperature of each of the thermal print head elements at the beginning of each print head cycle based on: (1) the current temperature of the thermal print head, (2) the thermal history of the print head, and (3) the energy history of the print head. In one embodiment of the disclosed thermal print head model, the thermal print head model generates a prediction of the temperature of a particular thermal print head element at the beginning of a print head cycle based on: (1) the current temperature of the thermal print head, (2) the predicted temperatures of the print head element and one or more of the other print head elements in the print head at the beginning of the previous print head cycle, and (3) the amount of energy provided to the print head element and one or more of the other print head elements in the print head during the previous print head cycle.

In one embodiment disclosed in the above-referenced patent application, the amount of energy to provide to each of the print head elements during a print head cycle to produce a spot having the desired density is calculated based on: (1) the desired density to be produced by the print head element during the print head cycle, and (2) the predicted temperature of the print head element at the beginning of the print head cycle. It should be appreciated that the amount of energy provided to a particular print head element using such a technique may be greater than or less than that provided by conventional thermal printers. For example, a lesser amount of energy may be provided to compensate for density drift. A greater amount of energy may be provided to produce a sharp density gradient. The disclosed model is flexible enough to either increase or decrease the input energies as appropriate to produce the desired output densities.

Use of the thermal print head model decreases the sensitivity of the print engine to the ambient temperature and to previously printed image content, which manifests itself in the thermal history of the print head elements.

For example, referring toFIG. 1, a system for printing images is shown according to one embodiment of the present invention. The system includes an inverse printer model102, which is used to compute the amount of input energy106to be provided to each print head element in a thermal printer108when printing a particular source image100. As described in more detail below with respect toFIGS. 2 and 3, a thermal printer model302models the output (e.g., the printed image110) produced by thermal printer108based on the input energy106that is provided to it. Note that the thermal printer model302includes both a print head temperature model and a model of the media response. The inverse printer model102is an inverse of the thermal printer model302. More particularly, the inverse printer model102computes the input energy106for each print head cycle based on the source image100(which may, for example, be a two-dimensional grayscale or color digital image) and the current temperature104of the thermal printer's print head. The thermal printer108prints a printed image110of the source image100using the input energy106. It should be appreciated that the input energy106may vary over time and for each of the print head elements. Similarly, the print head temperature104may vary over time.

In general, the inverse printer model102models the distortions that are normally produced by the thermal printer108(such as those resulting from density drift, as described above and those resulting from the media response) and “pre-distorts” the source image100in an opposite direction to effectively cancel out the distortions that would otherwise be produced by the thermal printer108when printing the printed image110. Provision of the input energy106to the thermal printer108therefore produces the desired densities in the printed image110, which therefore does not suffer from the problems (such as density drift and degradation of sharpness) described above. In particular, the density distribution of the printed image110more closely matches the density distribution of the source image100than the density distributions typically produced by conventional thermal printers.

As shown inFIG. 3, thermal printer model302is used to model the behavior of the thermal printer108(FIG. 1). As described in more detail with respect toFIG. 2, the thermal printer model302is used to develop the inverse printer model102, which is used to develop input energy106to provide to the thermal printer108to produce the desired output densities in printed image110by taking into account the thermal history of the thermal printer108. In addition, the thermal printer model302is used for calibration purposes, as described below.

Before describing the thermal printer model302in more detail, certain notation will be introduced. The source image100(FIG. 1) may be viewed as a two-dimensional density distribution dshaving r rows and c columns. In one embodiment of the present invention, the thermal printer108prints one row of the source image100during each print head cycle. As used herein, the variable n will be used to refer to discrete time intervals (such as particular print head cycles). Therefore, the print head temperature104at the beginning of time interval n is referred to herein as Ts(n). Similarly, ds(n) refers to the density distribution of the row of the source image100being printed during time interval n.

Similarly, it should be appreciated that the input energy106may be viewed as a two-dimensional energy distribution E. Using the notation just described, E(n) refers to the one-dimensional energy distribution to be applied to the thermal printer's linear array of print head elements during time interval n. The predicted temperature of a print head element is referred to herein as Th(referred to as Tain the above-referenced patent application). The predicted temperatures for the linear array of print head elements at the beginning of time interval n is referred to herein as Th(n).

As shown inFIG. 3, the thermal printer model302takes as inputs during each time interval n: (1) the temperature Ts(n)104of the thermal print head at the beginning of time interval n, and (2) the input energy E(n)106to be provided to the thermal print head elements during time interval n. The thermal printer model302produces as an output a predicted printed image306, one row at a time (dp(n)). The thermal printer model302includes a head temperature model202(as described in more detail below with respect toFIG. 2) and a media density model304. The media density model304takes as inputs the predicted temperatures Th(n)204produced by the head temperature model202and the input energy E(n)106, and produces as an output the predicted printed image306.

Referring toFIG. 2, one embodiment of the inverse printer model102is shown. The inverse printer model102receives as inputs for each time interval n: (1) the print head temperature104Ts(n) at the beginning of time interval n, and (2) the densities ds(n) of the row of the source image100to be printed during time interval n. The inverse printer model102produces the input energy E(n)106as an output.

Inverse printer model102includes head temperature model202and an inverse media density model206. In general, the head temperature model202predicts the temperatures of the print head elements over time while the printed image110is being printed. More specifically, the head temperature model202outputs a prediction of the temperatures Th(n)204of the print head elements at the beginning of a particular time interval n based on: (1) the current temperature of the print head Ts(n)104, and (2) the input energy E(n−1) that was provided to the print head elements during time interval n−1.

In general, the inverse media density model206computes the amount of energy E(n)106to provide to each of the print head elements during time interval n based on: (1) the predicted temperatures Th(n)204of each of the print head elements at the beginning of time interval n, and (2) the desired densities ds(n)100to be output by the print head elements during time interval n. The input energy E(n)106is provided to the head temperature model202for use during the next time interval n+1. It should be appreciated that the inverse media density model206, unlike the techniques typically used by conventional thermal printers, takes both the current (predicted) temperatures Th(n)204of the print head elements and the temperature-dependent media response into account when computing the energy E(n)106, thereby achieving an improved compensation for the effects of thermal history and other printer-induced imperfections.

Although not shown explicitly inFIG. 2, the head temperature model202may internally store at least some of the predicted temperatures Th(n)204, and it should therefore be appreciated that previous predicted temperatures (such as Th(n−1)) may also be considered to be inputs to the head temperature model202for use in computing Th(n)204.

As described in the above-referenced patent application, the inverse media density model206receives as inputs during each time interval n: (1) the source image densities ds(n)100, and (2) Th(n)204, the predicted temperatures of the thermal print head elements at the beginning of time interval n. The inverse media density model206produces as an output the input energy E(n)106.

In other words, the transfer function defined by the inverse media density model206is a two-dimensional function E=F(d,Th). In one embodiment, the function E=F(d,Th) described above is represented using Equation 1:
E=G(d)+S(d)ThEquation 1

This equation may be interpreted as the first two terms of a Taylor series expansion in Thfor the exact energy that would provide the desired density. Such a representation may be advantageous for a variety of reasons. For example, a direct software and/or hardware implementation of E=F(d,Th) as a two-dimensional function may require a large amount of storage or a significant number of computations to compute the energy E. In contrast, the one dimensional functions G(d) and S(d) may be stored as look-up tables using a relatively small amount of memory, and the inverse media density model206may compute the results of Equation 1 using a relatively small number of computations.

One embodiment of the head temperature model202(FIGS. 2-3) is now described in more detail. Referring toFIG. 5, a schematic side view is shown of a portion530of the thermal printer108including a thermal print head500. The print head500includes several layers, including a heat sink502a, ceramic502b, and glaze502c. Underneath the glaze502cis a linear array of print head elements520a-i. It should be appreciated that although only nine heating elements520a-iare shown inFIG. 5for ease of illustration, a typical thermal print head will have hundreds of very small and closely-spaced print head elements per inch. The print head elements520a-iproduce output on a receiver medium522.

As described above, energy may be provided to the print head elements520a-ito heat them, thereby causing them to transfer pigment to an output medium. Heat generated by the print head elements520a-idiffuses upward through the layers502a-c.

It may be difficult or unduly burdensome to directly measure the temperatures of the individual print head elements520a-iover time (e.g., while a digital image is being printed). Therefore, in one embodiment of the present invention, rather than directly measuring the temperatures of the print head elements520a-i, the head temperature model202is used to predict the temperatures of the print head elements520a-iover time. In particular, the head temperature model202may predict the temperatures of the print head elements520a-iby modeling the thermal history of the print head elements520a-iusing knowledge of: (1) the temperature of the print head500, and (2) the energy that has been previously provided to the print head elements520a-i. The temperature of the print head500may be measured using a temperature sensor512(such as a thermistor) that measures the temperature Ts(n) at some point on the heat sink512.

The head temperature model202may model the thermal history of the print head elements520a-iin any of a variety of ways. For example, in one embodiment of the present invention, the head temperature model202uses the temperature Ts(n) measured by temperature sensor512, in conjunction with a model of heat diffusion from the print head elements520a-ito the temperature sensor512through the layers of the print head500, to predict the current temperatures of the print head elements520a-i. It should be appreciated, however, that the head temperature model202may use techniques other than modeling heat diffusion through the print head500to predict the temperatures of the print head elements520a-i. Examples of techniques that may be used to implement the head temperature model202are disclosed in more detail in the above-referenced patent application entitled “Thermal Response Correction System.”

As mentioned above, the techniques disclosed in the above-referenced patent application entitled “Thermal Response Correction System” do not explicitly account for changes in ambient printer temperature or humidity. Rather, the method was calibrated with data collected at a particular ambient printer temperature and humidity. The parameters of the thermal printer model302and inverse media model206were then estimated to minimize the mean square error between the model predictions and the data. This yields an accurate model for describing thermal history effects at a reference set of ambient conditions.

Examples of techniques will now be disclosed for modifying the above-described techniques to explicitly account for changes in ambient conditions. In particular, techniques will be disclosed for: (1) modeling the effects of ambient temperature fluctuations explicitly to enable the correction of thermal effects at a wide range of ambient temperatures; and (2) correcting for thermal effects of humidity variations.

Recall that the 2-D function E=F(d,Th) may be approximated by a linear combination of the 1-D functions G(d) and S(d), as shown in Equation 1. The arguments Thand d denote the absolute temperature of the print head element at the beginning of the print cycle (line time) and the desired print density, respectively. The required energy E should depend on the temperature of the receiver medium, and not the head temperature as shown in Equation 1. However, the form of Equation 1 remains the same even if we use the media temperature, as long as the temperature of the medium under the print head is a linear function of the head element temperature. Rewriting Equation 1 in terms of media temperature that is linearly related to the head element temperature Thresults in Equation 2.
E=G′(d)+S′(d)TmEquation 2

In Equation 2, Tmdenotes the absolute temperature of the media, and the functions G′(·) and S′(·) are related to the G(·) and S(·) functions, respectively, in Equation 1. The functions G′(·) and S′(·) may be estimated using, for example, techniques disclosed in the above-referenced patent application for estimating the functions G(·) and S(·).

In various embodiments of the present invention, the media temperature Tmis estimated by modeling the heat diffusion occurring within the print head and receiver medium. In one embodiment of the present invention, such temperature estimation is performed by translating the heat diffusion problem into an equivalent electrical circuit problem.

Referring toFIG. 6, an example of such an electrical circuit600is shown according to one embodiment of the present invention. The thermal resistance, heat capacity, heat flow, and temperature in the media translate to electrical resistance, capacitance, current, and voltage, respectively, in the elements of the circuit600. Such a mapping facilitates the computation of as well as the graphical representation of the heat diffusion problem.

An RC circuit network602in the circuit600(FIG. 6) models the print head500(FIG. 5). In particular, RC circuits604a-cmodel the layers502a-c, respectively, of the print head500. The voltage at node606models the predicted print head element temperature Th. Note, however, that there need not be a one-to-one mapping between circuits604a-cand layers502a-c. Rather, a single layer in the print head500may be modeled by multiple circuits, and a single circuit may model multiple layers in the print head500. The receiver medium522is modeled by a plurality of RC circuit networks608a-f. The circuit network608ccoupled directly to node606models the portion of the medium522directly below the print head element. Adjacent ones of the circuit networks608a-fmodel adjacent portions of the receiver medium522in the direction covered by the print head500in successive print cycles.

The circuit600illustrated inFIG. 6approximates the continuous motion of the print head500over the receiving medium522as discrete steps taken by the head500during a line time (print cycle) in the direction indicated by arrow612. Referring again toFIG. 5, note that the printer530may include a second temperature sensor532for sensing the ambient printer temperature Trinside of the printer530. When the head500moves over a fresh region of the medium522at the start of a line, the initial temperature of the new region Tmis very close to the ambient temperature Trmeasured by the temperature sensor532. Although circuit networks608a-finclude cross-network resistors (such as resistor610) to model lateral heat diffusion within the medium522, such resistors are not taken into consideration in the present analysis because it is assumed that within the short print cycle there is little heat diffusion occurring in the printing direction within the medium522. Such resistors could be taken into account however, if it were desired to consider the effects of this heat diffusion within the medium522.

As heat starts to flow from the head500to the medium522, the media temperature Tmbegins to rise. The rate of heat flow will be proportional to the temperature gradient between the head500and the media522. The final media temperature Tmwill depend on the line time Δt and the time constant of the media522given by RmCm. For short line times, the media temperature Tmcan be approximated by Equation 3:
Tm≈Tr+Am(Th−Tr)  Equation 3

Amin Equation 3 is given by Equation 4:

Note that in Equation 6 the implicit dependence of the original G(·) function on Trhas been made explicit.

For example, referring toFIG. 4, one embodiment of the inverse media density model206(FIG. 2) is now described in more detail. The inverse media density model206receives as inputs during each time interval n: (1) the source image densities ds(n)100, (2) Th(n)204, the predicted temperatures of the thermal print head elements at the beginning of time interval n; and Tr(n), the ambient printer temperature at the beginning of time interval n. The inverse media density model206produces as an output the input energy E(n)106. In other words, the transfer function defined by the inverse media density model206shown inFIG. 4is a three-dimensional function E=F(d,Th,Tr).

It may be seen fromFIG. 4that the inverse media density model206illustrated inFIG. 4implements Equation 5. For example, the model206includes a function G′(·)424and a function S′(·)416. A first multiplier430multiplies S′(·)416, Tr(n)426, and (1−Am) to produce the second term in Equation 5. A second multiplier432multiplies S′(·)416, Am426, and Th(n)204to produce the third term in Equation 5. An adder434adds G′(·) to the outputs of the first and second multipliers430and432to produce the input energy E(n)106.

Referring toFIG. 7A, a flowchart is shown of a method700that is performed by the inverse printer model102in one embodiment of the present invention to produce the input energy106to provide to the thermal printer108to produce the printed image110. The method700enters a loop over each pixel P in the source image100(step702). The method700identifies the temperature Thof the print head element that is to print pixel P (step704). The temperature Thmay, for example, be predicted using the techniques disclosed in the above-referenced patent application or using techniques disclosed herein.

The method700identifies the ambient printer temperature Tr(step706). The ambient printer temperature Trmay, for example, be identified by measurement using the temperature sensor532.

The method700identifies the temperature Tmof the region of the print medium522in which pixel P is to be printed (step708). The temperature Tmmay, for example, be estimated using Equation 3.

The method700identifies the density dsof pixel P (step710). The method700identifies the input energy E required to print pixel P based on the identified print head element temperature Th, ambient printer temperature Tr, media region temperature Tm, and density ds(step712). The energy E may, for example, be identified using Equation 5. The method700provides energy E to the appropriate print head element, thereby causing pixel P to be printed (step714). The method700repeats steps704-714for the remaining pixels P in the source image100(step716), thereby printing the remainder of the source image100.

Note that step708(identification of the media temperature Tm) need not be performed as a separate step in the method700. For example, if Tmis estimated using Equation 3, then identification of Tmis performed implicitly in step712based on Thand Tr.

The method700illustrated inFIG. 7Amay be implemented in a variety of ways. For example, referring toFIG. 7B, a flowchart is shown of a method720that is used in one embodiment of the present invention to implement the method700ofFIG. 7A. The method720includes the same steps702-706as the method700illustrated inFIG. 7B. The method720, however, identifies the media temperature Tmfor each pixel P by computing the value of Tmusing Equation 3 (step722). The method720identifies the density dsof pixel P (step710) and computes the required energy E by substituting the computed value of Tminto Equation 2. One advantage of the method720illustrated inFIG. 7Bis that, by computing media temperature Tmfor each pixel P, changes in the ambient printer temperature Trmay be taken into account on a line-by-line basis.

Taking changes in the ambient printer temperature Trinto account on a line-by-line basis, however, may not provide a significant benefit, since the ambient printer temperature Trwill typically have a long time constant. Referring toFIG. 7C, a flowchart is shown of another method730that is used in one embodiment of the present invention to implement the method700ofFIG. 7Awith increased computational efficiency by eliminating the ability to take ambient printer temperature changes into account during a print job.

The method730precomputes the functions G(·) and S(·) using Equation 6 and Equation 7 prior to calculating the individual pixel energies (step732). If the ambient printer temperature Tris not expected to change appreciably during printing, the use of a single value of Trin the precomputation performed in step732will not have an appreciable effect on the output produced in the remainder of the method730.

The method730enters a loop over each pixel P in the source image100(step702) and identifies the temperature Thof the corresponding print head element (step704). The method730identifies the density dsof pixel P (step710). The method730may omit steps706and708(FIG. 7A), because the effect produced by such steps is achieved by the precomputation performed in step732.

Having precomputed the functions G(·) and S(·), the method730identifies the input energy E using Equation 1, which only requires the density dsand the print head temperature Thas inputs (step734), thereby implementing step712of the method700shown in FIG.7A. It may be appreciated that Equation 1, which requires only two table lookups, a single addition, and a single multiplication, may be computed more efficiently than the combination of Equation 2 and Equation 3 used in the method720ofFIG. 7B.

The method730provides the energy E to the print head element (step714) and repeats steps704,710,734, and714for the remaining pixels P (step716).

Referring toFIG. 7D, a flowchart is shown of a method740that is used in another embodiment of the present invention to implement the method700illustrated inFIG. 7A. The method740retains the ability to take ambient temperature into account, but with greater computational efficiency than the method720illustrated inFIG. 7B. Let Trcbe the ambient temperature at which the inverse media density model206is calibrated. Let fl=(1−Am)/Am. Using Equation 5, Equation 6, and Equation 7, we obtain Equation 8:

In Equation 8, ΔTr=Tr−Trc. In other words, Equation 8 allows ambient temperature changes to be taken into account when computing the input energy E by using a correction term ΔTh, added to the print head element temperature Th, based on the difference between the current ambient printer temperature Trand the calibration temperature Trc. The correction term ΔThis given by Equation 9.
ΔTh=flΔTrEquation 9

Referring toFIG. 7D, in one embodiment of the present invention lookup tables are precomputed for the functions G(.,Trc) and S(·) (step742). The method740enters a loop over each pixel P in the source image100(step702), identifies the temperature Thof the print head element (step704), identifies the ambient printer temperature Tr(step706), and identifies the density dsof the pixel P (step710). Equation 9 is used to compute the value of the correction term ΔThfor pixel P (step744). The method740uses Equation 8 to compute the input energy E by adding the computed correction term ΔThto the absolute temperature Thand by using the lookup tables to obtain values for G(d,Trc) and S(d) (step746). The method740provides the input energy E to the print head element (step714) and repeats steps704,710,744,746, and714for the remaining pixels in the source image100(step716).

The addition of the correction term ΔThto the print head element temperature Thin step746may, however, be eliminated by recognizing that the computation of the absolute temperatures Thby the thermal history control algorithm includes adding the relative temperatures of all the layers of the print head500to the thermistor reading obtained (by temperature sensor512) at the coarsest layer, as described in more detail in the above-referenced patent application entitled “Thermal Response Correction System.” Consequently, if the correction term ΔThis added to the thermistor reading Ts, the correction term ΔThis effectively propagated to every pixel by the thermal history control algorithm computation of the absolute print head element temperature Th. Recall that Tsdenotes the temperature recorded by the thermistor512. Then, a modified thermistor temperature Ts′ is given by Equation 10:
Ts′=Ts+flΔTrEquation 10

The modified thermistor temperature Ts′ may then be used to compute the predicted print head element temperatures Thusing the techniques disclosed in the above-referenced patent application, and thereby eliminating the need to add the correction term ΔThfor each pixel in the computation of the input energy E.

More specifically, referring toFIG. 7E, a flowchart is shown of a method750that is used in one embodiment of the present invention to perform the same function as the method740shown inFIG. 7D, but without the addition performed in step746. The method750precomputes lookup tables for the functions G(.,Trc) and S(·) (step742), as described above with respect toFIG. 7D. The method750enters a loop over each block B of pixels in the source image100(step751). A block of pixels may, for example, be a subset of the source image100or the entire source image100.

The method750identifies the ambient printer temperature Tr(step706). The method750computes the modified print head temperature Ts′ based on the current ambient printer temperature Trand the calibration ambient printer temperature Trcusing Equation 10 (step752).

The method750enters a loop over each pixel P in the block B (step702), as described above with respect toFIG. 7A. The method750identifies the temperature Thof the print head element that is to print pixel P (step704), identifies the ambient printer temperature Tr(step706), and identifies the density dsof pixel P (step710). Step708(FIG. 7A) need not be performed because the media temperature Tmwas taken into account implicitly in step752.

The method750computes the input energy E using Equation 11 (step754). Note that Equation 11 results from removing the correction term ΔThfrom Equation 10 because ΔThwas taken into account in the computation of the modified print head temperature Ts′ in step752.
E=G(d,Trc)+S(d)ThEquation 11

The method750provides the input energy E to the print head element (step714) and repeats steps704,710,754, and714for the remaining pixels in the source image100(step716). The method750repeats the steps described above for the remaining blocks in the source image100(step755).

One advantage of the method750illustrated inFIG. 7Eis that it has negligible overhead in terms of run-time computation, since calculating Equation 11 requires only two table lookups, one addition, and one multiplication, which is no more computationally intensive than Equation 1. Furthermore, the method750has the ability to take into account changes in the ambient printer temperature Trduring a long print job, if required. Such changes are reflected in the print head element temperatures Thidentified in step704.

Changes in humidity may affect the densities in the printed image110produced by the thermal printer108(FIG. 1). The effects of humidity variation on the printed density, however, may be difficult to represent if humidity alters the media model206in such a complex manner that it cannot be accommodated by the structure imposed in Equation 2. As may be seen from the discussion above, the media model206may easily be used to account for any variations in the ambient printer temperature Tr. In one embodiment of the present invention, the effect of humidity is taken into account by translating it into an equivalent temperature variation.

Using the techniques described in U.S. Pat. No. 6,537,410, entitled “Thermal Transfer Recording System,” printing may be achieved by melting the thermal solvent in the donor layer that in turn dissolves the dye. The dissolved dye is then drawn into the receiver by capillary action. Ideally, the thermal solvent melts at a fixed temperature. The presence of impurities in the media, however, may influence the melting temperature. We hypothesize that the moisture in the air is absorbed by the donor layer and lowers the melting point of the thermal solvent. The amount of moisture absorbed by the donor layer is driven by the ambient relative humidity. Therefore, in one embodiment of the present invention a temperature correction is applied that is proportional to the change in relative humidity.

Let ΔRH denote the difference between the current relative humidity and the relative humidity for which the media model206was calibrated. Equation 10, which calculates the modified print head temperature measurement Ts′, may be modified to take into account the humidity effect as shown in Equation 12.
Ts′=Ts+flΔTr+fh(Tr)ΔRHEquation 12

In Equation 12, fh(·) denotes the proportionality constant that converts the relative humidity change ΔRH into an equivalent temperature change. We have experimentally observed that humidity has a larger effect at higher ambient temperatures. The dependence of fh(·) on Tris meant to reproduce this change in sensitivity to humidity with temperature.

Note that Equation 12 shows a particular form of the correction term that is added to the print head temperature Ts. In general, this correction term may be written as a two-dimensional function f(Tr,ΔRH), where the functional dependence of the correction term on Trand ΔRH takes a different form than that shown in Equation 12. The value of this function at a particular ambient printer temperature and relative humidity may be found experimentally by determining the modified print head temperature that results in a printed image most similar to the image printed under the reference ambient conditions. Experimental procedures can also be used to determine the values of ftand fh(·).

Referring toFIG. 7F, a flowchart is shown of a method760that is used in one embodiment of the present invention to perform the same function as the method750shown inFIG. 7E, except that the method760shown inFIG. 7Fadditionally takes changes in relative humidity into account. The method760precomputes lookup tables for the functions G(.,Trc) and S(·) (step742), as described above with respect toFIG. 7D. The method760enters a loop over each block B of pixels in the source image100(step751). The method760identifies the ambient printer temperature Tr(step706).

The method760computes the modified print head temperature Ts′ based on the current ambient printer temperature Tr, the calibration ambient printer temperature Trc, and the change in relative humidity ΔRH using Equation 12 (step762). The remainder of the method760performs steps702,704,710,754,714,716, and755in the same manner as described above with respect toFIG. 7E, except that the input energy E calculated in step754inFIG. 7Feffectively takes the effects of humidity into account because the modified print head temperature Ts′ produced in step762reflects the effects of humidity, and because the modified print head temperature Ts′ in turn influences the print head element temperatures Thidentified in step704for the reasons described above.

An alternative hypothesis is that the glass transition temperature Tgof the dye layer changes as a function of relative humidity. The rate at which the dye is drawn into the receiver is a function of the viscosity, which in turn is a function of Tg. Based on these premises, one may develop a formula for calculating the equivalent change in temperature that is again proportional to relative humidity, and in which the proportionality constant has a quadratic dependence on the ambient temperature. Note that the form of the humidity correction term to the thermistor temperature given in Equation 12 accommodates this hypothesis as well.

The techniques disclosed herein have a variety of advantages. As described above, ambient temperature changes that occur after the thermal history control algorithm has been calibrated can cause the printer to produce suboptimal output if such changes are not taken into account. By taking ambient temperature changes into account explicitly when computing the input energies to provide to a printer to print an image, the techniques disclosed herein compensate for such temperature changes, thereby improving the quality of the printed output.

Similarly, as described above, changes in humidity that occur after the thermal history control algorithm has been calibrated can cause the printer to produce suboptimal output if such changes are not taken into account. By taking humidity changes into account explicitly when computing the input energies to provide to a printer to print an image, the techniques disclosed herein compensate for such temperature changes, thereby improving the quality of the printed output.

Furthermore, the techniques disclosed herein have the advantages disclosed in the above-referenced patent application entitled “Thermal History Control.” For example, the techniques disclosed herein reduce or eliminate the problem of “density drift” by taking the current ambient temperature of the print head and the thermal and energy histories of the print head into account when computing the energy to be provided to the print head elements, thereby raising the temperatures of the print head elements only to the temperatures necessary to produce the desired densities. A further advantage of various embodiments of the present invention is that they may either increase or decrease the input energy provided to the print head elements, as may be necessary or desirable to produce the desired densities.

Another advantage of various embodiments of the present invention is that they compute the energies to be provided to the print head elements in a computationally efficient manner. For example, as described above, in one embodiment of the present invention, the input energy is computed using two one-dimensional functions (G(d) and S(d)), thereby enabling the input energy to be computed more efficiently than with the single four-dimensional function F(d,Th,Tr,ΔRH).

Although some embodiments may be described herein with respect to thermal transfer printers, it should be appreciated that this is not a limitation of the present invention. Rather, the techniques described above may be applied to printers other than thermal transfer printers (e.g. direct thermal printers). Furthermore, various features of thermal printers described above are described merely for purposes of example and do not constitute limitations of the present invention.

It should be appreciated that the results of the various equations shown and described above may be generated in any of a variety of ways. For example, such equations (such as Equation 1) may be implemented in software and their results calculated on-the-fly. Alternatively, lookup tables may be pre-generated which store inputs to such equations and their corresponding outputs. Approximations to the equations may also be used to, for example, provide increased computational efficiency. Furthermore, any combination of these or other techniques may be used to implement the equations described above. Therefore, it should be appreciated that use of terms such as “computing” and “calculating” the results of equations in the description above does not merely refer to on-the-fly calculation but rather refers to any techniques which may be used to produce the same results.

The techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output. The output may be provided to one or more output devices.

Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive programs and data from a storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium.