Printing calibration process and method, and printing systems configured to print therewith
11575806 · 2023-02-07
Assignee
Inventors
Cpc classification
H04N1/405
ELECTRICITY
H04N1/4055
ELECTRICITY
H04N1/407
ELECTRICITY
H04N1/603
ELECTRICITY
International classification
H04N1/405
ELECTRICITY
Abstract
A method for calibrating a printing process by applying a selected adjustment curve to an image input file to produce an output file. The adjustment curve is derived to match a target tonal response curve having a function value for 0 that is non-zero or has a discontinuity between 0 and 10%. The adjustment curve has a basic part selected from limited options and an intersecting highlight part derived using a 1-dimensional function having input parameters selected from limited options. The adjustment curve has a starting point (X1, Y1), a highlight curve part having a first slope at the starting point and a first intersection with the basic curve part at (X2, Y2). The first slope and first intersection are among the input parameters selected from limited options. The basic curve part has a second slope at a midrange point (X3>X2, Y3>Y2).
Claims
1. A method for calibrating a printing process, comprising the steps of: a) identifying a target tonal response curve for the printing process, the target tonal response curve having a function value for 0 that is non-zero or having a discontinuity between 0 and 10%; b) deriving, using curve matching, an adjustment curve that when used in the printing process matches the identified target tonal response curve in step (a), the adjustment curve comprising a basic part, a highlight part that intersects with the basic part, the highlight part derived using a 1-dimensional function having one or more input parameters selected from a limited set of options, the adjustment curve characterized by: a starting point having a first x-value and first y-value; a highlight curve part having a first slope at the starting point and a first intersection of the highlight curve part with a basic curve part, the first intersection having a second x-value and second y-value, the first slope and the first intersection being among the input parameters selected from the limited set of options; and the basic curve part having a midrange point in a middle-range of the adjustment curve, the midrange point having a third x-value and a third y-value respectively greater than the second x-value and second y-value, and having a second slope at the midrange point, the basic curve part selected from a predetermined family of adjustment curves limited in number; c) adjusting one or more data values in a digital image input file by applying the selected adjustment curve to produce a digital image output file.
2. The method of claim 1, wherein the adjustment curve further comprises a shadow part that intersects with the basic part, the shadow part derived using a 1-dimensional function having one or more input parameters selected from a limited set of options, the adjustment curve further characterized by: a shadow curve part having a third slope at an end point and a second intersection of the basic curve part with the shadow curve part, the second intersection having a fourth x-value and a fourth y-value respectively greater than the third x-value and third y-value, the third slope and the second intersection being among the input parameters selected from the limited set of options; and the end point having a fifth x-value and fifth y-value respectively greater than the x-values and y-values of all points on the adjustment curve.
3. The method of claim 1, further comprising determining a function value of the starting point by determining a stable printing gray level.
4. The method of claim 3, wherein determining the stable printing gray level comprises determining a lightest stable printing dot size by automatically measuring and comparing printed tone values for different dot sizes.
5. The method of claim 4, wherein determining the stable printing gray level comprises automatically measuring and comparing printed tone values for different combinations of dot size and dot populations.
6. The method of claim 5, further comprising implementing the lightest stable dot size in a screen and implementing a corresponding dot population as a minimum gray level in the adjustment curve.
7. The method of claim 2, wherein the function value of the end-point is determined from the gray level that prints with a highest density.
8. The method of claim 1, further comprising selecting a reference target tonal response curve for each process ink matching a print condition and reference profile, where the reference target tonal response curve is modified with a highlight point from a power function.
9. The method of claim 1, further comprising selecting an unmodified reference target tonal response curve for each process ink matching a print condition and reference profile, and modifying the unmodified reference target tonal response curve based upon one or more extra points using a predetermined function.
10. The method of claim 9, wherein the one or more extra points comprises a transition point of the screen.
11. The method of claim 10, wherein the one or more extra points comprises a first point comprising a measured tone value of the minimal stable gray level, and a second point comprises the transition point of the screen, wherein the transition point comprises a measured tone value of an optimal transition point gray level with a Y-value corresponding to an automatically measured printed tone value of the optimal transition point, and an X-value selected so that the modified target tonal response curve has a first slope at the first point identical to a first slope at a beginning point (0,0) of the unmodified target tonal response curve.
12. The method of claim 10, further comprising deriving the adjustment curve with the optimal transition point gray level given a relatively greater weight than the measured tone value of the minimal stable gray level in the curve matching step.
13. The method of claim 12, wherein the adjustment curve is selected from a predetermined family of curves, the family comprising a set of predetermined basic curves continuous from 0% to 100%, modified with different highlight part shapes using Bezier spline functions, that allow a variable curve start point other than (0,0).
14. The method of claim 2, wherein the adjustment curve is selected from a predetermined family of curves, the family comprising a set of predetermined basic curves continuous from 0% to 100%, modified with different shadow part shapes using Bezier spline functions, that allow a variable curve end point other than (100,100).
15. The method of claim 1, wherein step (b) comprises any of the following steps: i. calculating a theoretical set of adjustment points, the calculation comprising interpolating between measured values to match the target tonal response curve; ii. determining the third x-value, third y-value, and second slope of the midtone point by selecting a curve from the family of curves that best matches said adjustment points in a midtone range U to V, where U>15% and V<85%; iii. setting the first x-value, first y-value as the starting point identified by determining a stable printing gray level; iv. determining the first slope at the starting point and determining the second x-value, second-y-value of the first intersection that when combined with the midtone point, best matches said adjustment points in a highlight range U to V, wherein U>starting point and V<50%; v. setting the fifth x-value, fifth y-value to the end point identified by determining a gray level that prints with a highest density; vi. determining the third slope at the end point and determining the fourth x-value, fourth y-value of the second intersection that when combined with the midtone point, best matches said adjustment points in a shadow range U to V, where U>50% and V<end point.
16. The method of claim 1, wherein step (b) comprises any of the following steps: i. calculating a theoretical set of adjustment points, the calculation comprising interpolating between measured values to match the target tonal response curve; ii. setting the first x-value, first y-value to the starting point identified by determining a stable printing gray level; iii. setting the fifth x-value, fifth y-value to the end point identified by determining a gray level that prints with a highest density; iv. determining all other points and slopes by selecting a combination that best matches said adjustment points in a range U to V, where U>start point and V<end point.
17. The method of claim 1, wherein the printing process comprises a multi-ink printing process, comprising selecting the adjustment curve for a first ink used in the multi-ink printing process and using the selected adjustment curve for a second ink used in the multi-ink printing process.
18. The method of claim 1, wherein the printing process comprises a multi-ink printing process, comprising performing steps (a) and (b) to select a first adjustment curve for a first ink used in the multi-ink printing process, and repeating steps (a) and (b) to select a second adjustment curve different than the first adjustment curve for a second ink used in the multi-ink printing process.
19. The method of claim 1, further comprising printing a printed image from the digital image output file.
20. Non-transitory machine-readable media comprising fixed machine readable instructions for causing a machine to perform the method of claim 18.
21. The method of claim 1, wherein the adjustment curve is selected from a predetermined family of curves, the family comprising a set of predetermined basic curves continuous from 0% to 100%, modified with different highlight part shapes using Bezier spline functions, that allow a variable curve start point other than (0,0).
22. The method of claim 1, wherein the identifying comprises selecting the target tonal response curve from a set of standard tonal response curves or extracting the target tonal response curve from a reference profile to be matched.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
DETAILED DESCRIPTION OF THE INVENTION
(30) One aspect of the invention seeks to accelerate and standardize the calibration and color optimization process by avoiding manual tweaking and optimization of curves and screening, while at least maintaining the final output quality.
(31) The basic process contains the following steps, which are also illustrated in
(32) In STEP 1, for a specific printing condition, represented by different printing condition parameters, and for one of the inks used for that condition, a screen containing the best physical stable printing minimum dot is created, including an optimized mixture of AM and FM screening. Creation of the screen is performed automatically from measurements on printed results. Screen parameters such as screen ruling and angle are set from specifications in the printing condition.
(33) STEP 2 comprising selecting a suitable target curve and measurement metric for the selected condition and ink. STEP 3 comprises deriving limits for gray levels and limits for tone scale from the measurements and from the screen properties. In STEP 4, the target curve is modified from the derived limits in STEP 3 so that this curve reflects the best realistic and reproducible tonal response for the given print condition. STEP 5 comprises calculating a theoretical tonal adjustment curve from measurements, which would theoretically, when used in plate making, make the printing process reproduce this modified target curve very accurately, at least on the measured values and if the printing conditions are kept extremely stable.
(34) STEP 6 comprises determining from a bundle of predetermined adjustment curves, using a configurable curve fitting algorithm, the adjustment curve which matches closest to the previously determined theoretical adjustment curve. STEP 7 comprises re-using the adjustment curve obtained for the selected ink for the other inks. Or, in the alternative, the process can be repeated (partially) for other inks printed on the same printing condition. These processes lead to for each ink a screen and an adjustment curve from the predetermined bundle. STEP 8 comprises printing with the found adjustment curves and measuring a new press profile. STEP 9 comprises using the new press profile for separating and using the adjustment curves for plate making.
(35) The resulting print made using the foregoing method will be superior to prior art processes because the process is highly automated and repeatable without requiring skilled experts to adjust the curves. STEP 1 to 6 may be performed automatically by a computer programmed with software instructions, without human intervention. Such automatic performance of this portion of the method eliminates human judgement from the process, which is often flawed by lack of expertise or non-scientific prejudgment. The actual printed result can easily be predicted via a conventional proofing process because of the existence of the correct profiles and the representative modified target curves.
(36) Referring now to
(37) Step 1: Select the Optimal Screen Suited for the Flexo Condition, Taking into Account Plate Making Limits.
(38) Unlike traditional prior art methods in which the minimum dot is set from curves, embodiments of the invention comprise setting the minimum dot using a screen that contains a FM part and an AM part. This screen selection is preferably automated from measurements. The description that follows illustrates an exemplary implementation.
(39) First, a specific printing condition is specified from a plurality of printing condition parameters. Exemplary printing conditions may include settings related to press (brand, type, print speed, cylinder width, anilox to plate impression, plate to substrate impression), substrate (materials, opacity, thickness), imager (type, optics, resolution, pixel boost setting), exposure (type, power), plate (type, thickness, relief depth, hardness, developer), printing standard, ink (set (e.g. CMYK), and brand, type, viscosity for each ink color), anilox for each separation (brand, type, line screen, angle, cell volume.), and screen linearization for each separation (e.g. ruling in Ipi). The condition may be specified by entry of the various parameters into a computer processor programmed with instructions for storing the information in memory and using the information in an expert system that processes the information.
(40) The information may be used to specify a plurality of dedicated “mindot” control strips, an example of which is depicted in
(41) The mindot strips are measured automatically and tone values are compared for different dot sizes, different dot populations and different screening technologies.
(42) Using the foregoing criteria may result in multiple solutions, including the smallest stable dot at full population or a less smaller dot at a reduced population. Both give stable solutions, but result in different minimum tone values or different visual appearance (less dot population perceived as a lower screen ruling in highlights). A decision may be made based on preferences, set by the user, or selected from specific printing condition characteristics, or selected by the implementation as optimal defaults.
(43) Thus, for the example depicted in
A preferred implementation may select the 2.sup.nd solution by default, as TV is low enough without reducing population too much. When the dot size is decided, a transitional screen is created with its transition point matching the minimal dot, such as is depicted in
(44) Preferably, after inputting the print conditions, the bitmap is generated and printed, and then the measurements are automatically made from the printed bitmap. The automatic measurements are then input to the same expert system that generated the bitmap, and those measurements are used for recommending the optimum screen. The expert system may include a graphical user interface from which the user can visualize the minimum dot recommended, as depicted in
(45) Step 2: Select a Suitable Target Curve and Measurement Metric for the Selected Condition and Ink.
(46) In this step a metric and formula are determined for extracting tone value from measurements. Also a target curve is selected that matches the selected metric and formula, and that is suitable for the selected condition and ink. The following default selections are made in the exemplary embodiment: Density may be used as the metric used to measure process color tones (C,M,Y,K), in which case the Murray/Davies formula is preferably used to calculate tone values from measurements. The target curve selected for process inks may be ref.dgc, a curve shape close to the TVI-B ISO curve (standard curve used for ISO FOGRA39 printing conditions, as illustrated in
(47) In a more advanced mode, a user may have the option to select a different target curve for a different ink and/or a different metric and formula to extract tone values. This may be useful if it is desired to match a specific standardized or reference printing condition. For example, if the printing condition is standardized to FOGRA43, TVI-E may be used as target curve for C,M,Y and TVI-F may be used as the target curve for black
(48) In another advanced mode, a user may have the option to select a reference profile as target instead of having to derive individual desired curves for each ink, such as is known in prior art implementations, such as Esko CurvePilot™. In that case, the tone value curve for each process ink is automatically extracted from that profile and used as the desired curve for that ink, similar to the function of Curve Pilot. In the example depicted in
(49) Step 3: From Measurements and from Screen Properties, Derive Limits for Gray Levels and Limits for Tone Scale.
(50) From the measurements in STEP 1, the following properties are derived: The gray level of the screen from which modulation changes from FM to AM (“Transition Point”). This gray level is set during screen creation (the gray level where the modulation type changes). For example, in the above example, a 150 LPI screen was used at 4000 PPI, and the selected dot was 12 pixels. The gray level for this transition point is at 1.7%. The Tone Value measured and calculated from the patch that was screened with the selected minimum dot size. In the example above, the patch with 12 pix dots measured 7.9% TV. This value was obtained by measuring the Lab value of the patch and comparing it with Lab of paper and solid (ΔE76 formula). The population for which the minimum dot prints stable enough. In the example above ½ population was selected for the 12 pix dot. The gray level of the screen for this population. This is equal to the gray level of the transition Point of the screen multiplied by the population ratio. In the example above, the gray level=1.7%*½=0.85%. The Tone Value measured and calculated from the patch made from the selected dot and the selected dot population. This tone value is the lightest tone that can be printed for this condition. In the example above, the patch with 12 pix dots at ½ population measured 4.18% TV.
Step 4: Modify the Target Curve from the Derived Limits in STEP 3 so that this Curve Reflects the Best Realistic and Reproducible Tonal Response for the Given Print Condition.
(51) In STEP 2, the proper target curve was selected for the specific condition and for the selected ink that is being linearized. However, this desired curve typically shows a continuous monotone increasing tone response from 0% to 100%. However, printing in flexo has discontinuities near 0% (there is a minimal reproduceable tone), and tone can start decreasing near 100%, so the desired curve cannot be realized. In this step, the target curve is modified so that the desired value at the starting point of the curve corresponds with the lightest tone value obtained in STEP 3. In one embodiment, we combine the target curve with a transfer curve, with this transfer curve created in such a way that the combined curve evolves away from the original curve in the smoothest way, with the least complex function. This transfer curve is obtained by using a power function with the following criteria.
(52) Parameters: a=offset at start of modified curve=the lightest obtainable tone value b=exponent of the power function Power function: F(x)=a+x.sup.b x.sub.i=Intercept=point where transfer curve changes into an (*) identity curve (*) identity curve: a transfer curve that does not affect output: F(x)=x;
(53) Criteria 1: At intercept, the slope of the transfer curve is 1. From that point onwards, the transfer curve always has slope=1.
F(x)=a+x.sup.b=>F′(x.sub.i)=bz.sup.(b-1) (1.sup.st derivative of the function) (2)
F′(x.sub.i)=1 (Criteria 1: 1.sup.st derivative of the function=1) (3)
(54) From Eq. 2 and Eq. 3:
bx.sub.i.sup.(b-1)=1 (4)
x.sub.i=(1/b).sup.1/(b-1) (5)
(55) Criteria 2: The function value at intercept becomes equal to the x-value. From that point onwards, the transfer curve becomes an identity curve (x=y).
F(x.sub.i)=a+x.sub.i.sup.b (6)
F(x.sub.i)=x.sub.i (Criteria 2: x.sub.i=y.sub.i) (7)
(56) From Eq. 6 and Eq. 7:
x.sub.i=a+x.sub.i.sup.b (8)
x.sub.i−x.sub.i.sup.b=a (9)
(57) This provides two comparisons, see (5) and (9), with two unknowns: intercept x.sub.i and exponent b. The comparisons may be solved in a heuristic way by choosing a starting exponent b=2.0 with intercept x.sub.i calculated according to criteria 1, and exponent b adapted until criteria 2 is met within 0.00001.
(58) What follows is an example implementation of the power function described above:
(59) TABLE-US-00001 // Find exponent and intercept of the power transfer function // RequiredShiftUp = a // tangentX = xi // expo = b double getExponent( double RequiredShiftUp, // Lightest reachable Tone Value double &tangentX // intercept with identity curve ) { double incr = 1.0; double expo = 2.0; double reqMove = RequiredShiftUp; for(;;) { double power = (double)1.0 / (expo − 1.0); double connectX = pow((1.0 / expo),power); double yatconnectx = pow(connectX,expo); // Y at connect point double estMove = connectX − yatconnectx; // shift estimated double diff = abs(estMove − reqMove); if (diff <= 0.00001) break; // power function found if(estMove > reqMove) { incr /= 2; expo −= incr; { else } incr *= 2; expo += incr; } } tangentX = connectX; return expo; }
(60) Combination of target curve and power transfer function is implemented in the following way: For x=0 to x.sub.i y_PowerTransfer=a+x.sup.b Y=TargetCurve(y_PowerTransfer) For x=x.sub.i to 100% y_PowerTransfer=x Y=TargetCurve(y_PowerTransfer)
(61) What follows is a worked out example for a specific condition and ink using the target curve depicted in
TargetCurve(x)=x+x.sup.2−x.sup.3
(62) From previous steps the following lightest tone value was obtained: Optimal highlight: Minimum dot 12 pixels, used at ½ of the AM population Measured: 4.98% TV (lightest obtainable tone value for this condition)
(63) We want to create a modified target curve that is lifted by 4.98%, using the method and example implementation as described above.
(64) First, we search for the intercept and exponent of the power transfer function from the function as documented in the example implementation: double tangentX; double expo=getExponent(0.0498,tangentX): Result: =>expo=1.1457 =>tangentX=39.31%
(65) The following power transfer function is obtained: Intercept: 39.31% Power function 1.sup.st part of the curve: 4.98%+x.sup.1.1451 2.sup.nd part of the curve: x=y
(66) Secondly, we combine the original curve with the power transfer function as documented in the sample implementation: For x=0 to 39.31% y_PowerTransfer=4.98%+x.sup.1.1451 Y=TargetCurve(y_PowerTransfer) For x=39.31% to 100% y_PowerTransfer=x Y=TargetCurve(y_PowerTransfer)
(67)
(68) Step 5: Calculate Theoretical Adjustment Curve
(69) An adjustment curve models the relation between gray levels in the screen (digital file) and printed tone values. This curve is influenced by many parameters (e.g. screen type (FM/AM, ruling, spot function), ink type, substrate, etc.). Creating a function from all these parameters is impossible, or at least not practical, so the adjustment curve is found in an empirical way. By measuring tone values printed from different gray levels and adjusting these gray levels towards a reference tone scale (=modified target curve).
(70) This is called ‘compensating’ and is done in the following way:
(71) x=gray level
(72) Desired(x)=desired tone values
(73) Measured(x)=measured tone values
(74) Adjustment(x)=adjusted tone values
(75) =>Adjustment(x)=Measured.sup.−1 (Desired (x))
(76) Clarification of this Formula:
(77) The gray level (=Adjustment) to be used for a tone x is found by Looking up the desired value for that tone x from the modified target curve (=Desired(x)) And by reverse-lookup in the measurement curve, finding the gray level that printed that desired value for x (Measured−1( ))
(78) e.g. 68% TV was printed with a gray level of 45%
(79) The desired value for a 50% tint is 68%
(80) =>Adjustment(50%)=45%, because the 45% gray level measured exactly 68%, which is the aim for a 50% tint
(81) What follows is an implementation to obtain step 5:
(82) For this step a linearization control strip is used, such as is depicted in
(83) Tone1=Transition Point*population
(84) TV1=Tone Value lightest stable patch (selected minimum dot at population)
(85) Tone2=Transition Point
(86) TV2=Tone Value Transition Point
(87) Tone values below Tone1 are set to zero. For each tone measured above Tone1, an adjustment is calculated as described above:
(88) x=tone
(89) Adjustment(x)=MeasuredCurve.sup.−1(ModifiedTargetCurve (x))
(90) The MeasuredCurve function is a function that makes a curve from measured points whereby x=the graylevel of a patch and y=the measured tone value of a patch. This function also supports reverse lookup: for a measured value y, what was the gray level used?
(91) The adjustment curve is formed by connecting all the adjustment points. This curve represents the theoretical tonal adjustment curve which would, theoretically, when used in plate making, make the printing process reproduce very accurately said modified target.
(92)
(93) The calculated adjustment for each measured tone is represented as the unfilled circles in the graph depicted in
(94) In some embodiments, it may be desired to optimize the tone at which the transition point falls, for example, to control graininess, prevent FM in critical tone range, to maintain a desired contrast after lifting the modified target curve, or for any other beneficial reason. Embodiments of the invention may therefore include automated control of this transition point. As illustrated in
(95) Modifying the curve with the two points as described above can be implemented in the following way:
(96) Selecting a first part of the curve to be a second order polynomial from the first modified point to the second modified point,
(97) Selecting a second part of the curve to be a power function from the second modified point fading to the original (unmodified) curve.
(98) The optimal X-value for the second modified point can be determined in as follows: 1 Choose a starting X-value for the second modified point (Y-value is known). A good starting value for X is constructing a line through the first point with a slope equal to the unmodified curve, and calculating a point on that line for which the Y-value is equal to the measured tone value at the transition point. 2 Calculate the coefficients of the second order polynomial, using the following knowns: First modified point element of function, slope at first modified point known (=slope of unmodified curve at 0,0) second modified point known (chosen) 3 Calculate the power function with second modified point. 4 Calculate the slope at the second modified point (transition point) for both the second order polynomial and the power functions. The second modified point intersects the two functions, and to have a continuous curve the slope at this point for the two functions should be equal. 5 If the slopes are different, choose a new X-value in the following way: If slope at the transition point for the 1.sup.st function is larger than for 2.sup.nd function, then increase the X-value, otherwise decrease X-value and redo the above method from step 2 onwards. 6 If the slopes are equal, the chosen X-value becomes the optimal tone (X-value) of the transition point.
(99) In other embodiments, such as the embodiment illustrated in
(100) Step 6A—Define a Set of Pre-Determined Curves Suited for Adjusting Conditions with Tone Range Limits.
(101) The adjustment curve obtained from the previous step would adjust tone response perfectly to the desired curve where the condition is perfectly repeatable (stable). In practice, however, printing has its natural fluctuations, such that adjusting with the theoretical curve would create instability and oscillations. Therefore, a curve method is used whereby the calculated adjustment points are ‘matched’ towards a set of pre-defined curves.
(102) It is known in the art to match points to a set of simple, pre-defined curves. See, e.g., U.S. Pat. No. 8,717,627, assigned to the assignee of this invention, incorporated herein by reference, embodied in the PressSync™ function available in Esko products. A set of simple PressSync™ curves identifies one curve from two parameters: the midpoint adjustment (the adjustment for a 50% tone) and the midpoint slope (the slope of the curve at 50%). The midpoint adjustment is indicated by a number, as depicted in
(103) The typical set of fixed PressSync™ curves, however, assumes a linear behavior from 0% to 100% and uses curve shapes that are not suitable for conditions that have tone range limits. One aspect of the present invention comprises an extended set of pre-defined curves developed to be more suited for adjusting conditions with tone range limits. This extended set of pre-defined curves may be referred to as “Flexible PressSync Curves.”
(104) It should be understood that “adjustment curves” should not be confused with “modified target curves.” Adjustment curves relate gray levels of the screen and their printed tone value, whereas target curves express desired values of the printed tones values of linear tone scales. Adjustment curves match the model (gray level versus printed tone value) best as possible, whereas target curves must result in printed tone scales that match the profile. In many cases the preferred tone scale in a profile is one that is as linear in color as possible, so that measured points are color equidistant (interpolation accuracy in highlights, midtones and shadows). Therefore, adjustment curves will typically have more complex shapes as compared to target curves (e.g. when using hybrid screens, the relation of gray level and printed tone value in the FM part will be different than in the AM part).
(105) What follows is an example implementation of the set of extended curves. 1. Define a range of intersection points with basic PressSync™ curves. For example, the extended curves depicted in
(106) TABLE-US-00002 double [ ] SetupCubicBezierCurve(CCurvePoint const & inPb, CCurvePoint const & inPe) { CCurvePoint thePb; CCurvePoint thePe; thePb = inPb; thePe = inPe; CCurvePoint thePm(inPm); mP[0] = thePb; mP[3] = thePe; mP[1].slope = thePb.slope; GetCrossPoint(thePb, thePm, mP[1]); mP[2].slope = thePe.slope; GetCrossPoint(thePm, inPe, mP[2]) return mP; } double GetCubicBezierY(double mP[ ], double inX) const { // cubic spline: P0, P1, P2 and P3 // t = 0 .. 1 // X = (1-t){circumflex over ( )}3*P0x + 3*(1−t){circumflex over ( )}2*t*P1x + 3*(1−t)*t{circumflex over ( )}2*P2x + t{circumflex over ( )}3*P3x // Y = (1-t){circumflex over ( )}3*P0y + 3*(1−t){circumflex over ( )}2*t*P1y + 3*(1−t)*t{circumflex over ( )}2*P2y + t{circumflex over ( )}3*P3y // we have X, in order to calculate Y, we need to solve t=f(X) cubic function // => f(t) = t{circumflex over ( )}3*(3*P2x−3*P1x+P0x−P3x) + t{circumflex over ( )}2*(3*P3x−6*P2x+3*P1x) + t*(3*P2x−3*P3x) + P3x − X if (inX<mP[0].x) return 0.0; if (inX>mP[3].x) return 1.0; double a = 3*mP[1].x − 3*mP[2].x + mP[3].x − mP[0].x; double b = 3*mP[0].x − 6*mP[1].x + 3*mP[2].x; double c = 3*mP[1].x − 3*mP[0].x; double d = mP[0].x − inX; double t1,t2,t3; ToCubicCurve (a,b,c,d,t); // given a,b,c,d coefficients of 3.sup.rd order polynomial, get t as variable of spline double theY = (1−t)*(1−t)*(1−t)*mP[0].y + 3*(1−t)*(1−t)*t*mP[1].y + 3*(1− t)*t*t*mP[2].y + t*t*t*mP[3].y; return they; }
Function of Complete Adjustment Curve:
(107) TABLE-US-00003 { // highlight_range = intersection point between highlight part and basic part of the curve // shadow_range = intersection point between basic part and shadow part of the curve // midpoint_y = Adjustment of the basic curve at 50% // midpoint_slope = Slope of the basic curve at midpoint // highlight curve part CCurvePoint thePs(‘Keep 0% to’, ‘Minimum Dot’); // starting point of curve thePs.slope = ‘Requested slope at start of curve’; CCurvePoint thePh; // intersection between highlight curve part and basic curve part thePh.x = ‘Requested intersection with basic curve’ thePh.y = GetStandardCurveValue(thePh.x, midpoint_y, midpoint_slope); thePh.slope = GetStandardCurveSlope(thePh.x, midpoint_y, midpoint_slope); mPH[ ] = SetupCubicBezierCurve(thePs, thePh) for (X = 0 to highlight_range) F(Adjustment Curve) = GetCubicBezierY(mPH, X) // basic curve part for (X = highlight_range to shadow_range ) F(Adjustment Curve) = GetStandardCurveValue(X, midpoint_y, midpoint_slope); // shadow curve part CCurvePoint thePs; // intersection between basic curve part and shadow curve part thePs.x = ‘Requested intersection with basic curve’ thePs.y = GetStandardCurveValue(thePs.x, midpoint_y, midpoint_slope); thePs.slope = GetStandardCurveSlope(thePs.x, midpoint_y, midpoint_slope); CCurvePoint thePe(‘Keep 100% to’, ‘Maximum Dot’); // end point of curve thePe.slope = ‘Requested slope at end of curve'; mPS[ ] = SetupCubicBezierCurve(thePs, thePe) for (X = shadow_range to 100%) F(Adjustment Curve) = GetCubicBezierY(mPS, X) } 5. For each intersection, an extra curve shape is calculated that produces a simple quadratic curve shape (P1=P2). When Pb=(0,0), the curve formed by this extra shape will be equal to the basic PressSync™ curve. This way, the set of extended PressSync™ curves also includes the set of Basic PressSync™ curves.
From the previous steps a range of extended curves can be constructed. The set of curves is further extended with extra shapes in the shadow part of the curves, in a similar way as the highlight shapes (transposing y=100%−y)
(108) Thus, an exemplary computer software interface implementation for selecting one extended curve from its different properties is depicted in
(109) Minimum Value: Lowest gray level of the screen.
(110) e.g. min 6.0%: Smallest non-0 tint will use of at least 6%.
Keep 0% to: Tone value range for which adjustment is kept to 0% e.g. 0.8%: Tone values between 0% and 0.8% will be dropped to 0% Highlight Shape: Number indicating the highlight shape of the curve. This number has two digits: The 1.sup.st digit indicates one of the 9 pre-defined intersection points. The 2.sup.nd digit indicates one of the 9 pre-defined starting slopes. e.g. h85: The highlight shape of the curve has a slope of 5 and a range of 8. Thus, in this example, there are a total combination of 81 curve shapes (9×9) that can be generated using only the integers 1-9 for each of the 1.sup.st digit and the 2d digit. The invention is not limited to any particular number of options for the intersection points and starting slopes, or nomenclature for describing the universe of limited combinations, but there are preferably a limited number of such combinations.
Slope: Slider to change the slope of the highlight shape.
Range: Slider to change the range or intersection of the highlight shape with the standard PressSync™ curve shape.
The same parameters may be set for analogous shadow shape properties on the right side of the user interface (e.g. Maximum Value, Keep 100%, Shadow Shape, Slope slider, Range slider).
(111) In implementations employing an optimal transition point, as described above with reference to
(112) Step 6B: From the Bundle of Pre-Determined Curves, Find the Curve that Best Matches the Theoretical Adjustment Points.
(113) In STEP 4, the theoretical adjustment points for each measured point were calculated. To obtain the best matching flexible PressSync™ curve, the following steps are taken: The ‘Minimum dot’ property is obtained from STEP 2: the smallest stable gray level derived from the transition point of the screen and the population ratio (e.g. ½). In the example depicted in
SumOfAbsoluteDifferences=SUM(|yp−yc|) y.sub.p: y-value of point at x.sub.i y.sub.c: y-value of curve at x.sub.i Use of the SumOfAbsoluteDifferences rather than a SumOfSquareDifferences function is that the SumOfAbsoluteDifferences better ignores outliers (because differences are not amplified). The curve with the lowest sum of differences is selected as best matching. In another embodiment curve selection can be based on smallest standard deviation from adjustment points and curve. The result of this step are two property values of the Flexible PressSync curve: midpoint (number) and slope of midpoint (letter). For points between 0% and 25%, the best matching highlight shape is found in a similar way. The optimal highlight shape is selected from the lowest sum of differences between adjustment points and highlight shape. For points between 75% and 100% the best matching shadow shape is found in a similar way. The optimal shadow shape is selected from the lowest sum of differences between adjustment points and shadow shape. In other embodiments, the method and/or steps for finding the optimal matching curve shapes can vary. For example, the optimal matching curve can be found by calculating the sum of differences over the whole tonal range for each different curve in the complete set of pre-defined curves (combination of midpoint, slope, highlight and shadow shapes), and selecting the curve with the overall smallest difference. Optionally, the matching may be weighted towards the complexity of the shape of the different curves, such as favoring curve shapes closest to the basic PressSync™ curve. This makes the resulting curve more robust and improves its averaging property to the cost of matching.
(114) In the example depicted in
Step 7: Linearizing Other Inks
(115) In one embodiment, the adjustment curve obtained from STEPS 1 to 5, based on measurements for one ink, may be re-used for the other inks. For some printing conditions, however, tone response can be considerably different for different inks. For example: 1. Some darker pigmented inks (e.g. black) show higher dot gain 2. Some inks or separations use different screen technologies—e.g. hexa chrome: For orange a stochastic screen is used to prevent overprint moiré with CMYK. The different screen technologies typically have different tone response and require different adjustments towards linear tones.
(116) In another embodiment, STEPS 1 to 5 are repeated but based on prints and measurements from other ink(s). The result of the complete linearization process is than a set of curves and/or a set of screens, one for each separation.
(117) Step 8: Print with the Set of Curves and Measure a Color Profile
(118) A profile chart can now be printed using the set of adjustment curves. The curve properties of the adjustment curves used can be printed with the calibration chart and can serve as Quality Control parameters. For example, a curve labeled “E43 min1.2%” indicates to a user that in the bitmap or on the plate: A tone of 50% uses a gray level of 43%, and The lightest tone should use a gray level of 1.2%.
(119) Screen ruling is typically one of the parameters that identify a printing condition or that is directly related to it (e.g. screen ruling determined from quality requirements, determined from substrate and ink volume—anilox). The strips created and used for the method to derive tone range limits and tone response as described above are therefore ruling-dependent. For example, the mindot control strip generated in STEP 3 is created for a specific screen ruling, because the optimal minimum dot size and population is typically largely dependent on screen ruling. Also, the tone value response (desired and actual) may be ruling dependent.
(120) Similar to screen ruling, output resolution is also considered to be one of the printing condition parameters, and the calibration strips used by the methods may be generated for the requested output resolution. For example, 4000 ppi may be a typical resolution used in common implementations of the invention, without limitation thereto.
(121) Although the invention is illustrated and described herein with reference to specific embodiments, the invention is not intended to be limited to the details shown. Rather, various modifications may be made in the details within the scope and range of equivalents of the claims and without departing from the invention.