Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
376,64 KB
Nội dung
It is not obvious how (or even whether) a CMM should process data when g is zero or negative. The profile is almost certainly corrupt or in error in such a case. There is clearly no point in defining a constant or decreasing function which will be clipped over the entire domain. The CMM developer may choose, in such a case, to reject the profile or to replace 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Positive gamma x y 0.5 1.0 2.0 Figure 26.3 Power law with exponent g > 0 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Negative gamma x y before clipping after clipping Figure 26.4 Power law with exponent g ¼À1/2 224 Profile Construction and Evaluation the parametric curve with the identity function, y ¼x (which amou nts to setti ng g ¼1), or some other default. Ideally profile creators should abide by the condition g > 0, and CMM developers should treat any occurrences of negative and zero values as errors and take appropriate action. 26.3 The Power-Law Argument Function type 0 is just the basic power law described above: y ¼ f 0 ðxÞ¼x g x ¼ F 0 ðyÞ¼y 1=g : In the other types, the argument to the power law is not simply x, but a linear expression in x. In types 1, 2, 3, and 4, the argument, which we will call s, takes the form s ¼ ax þb; where a and b are additional parameters. The power law is then s g . S ince there is no practical restriction ontheparametervalues,s can take on any value as x varies between 0 and 1. If s is negative, s g can be imaginary or complex. (It will be real for integer g,butg cannot be restricted to integer values.) In such a situation, a CMM might choose to take the real part of the expression. Alternatively, it could take the absolute magnitude. It couldarbitrarilysettheexpressiontozeroorone.Anotheroptionissimplytorequires to be non-negative. In types 1, 2, 3, and 4, the domain is divided into two segments, and the power law is employed only in the higher segment. For instance, the definition of type 1 is y ¼ f 1 ðxÞ¼0; 0 x < Àb=a ¼ s g ; Àb=a x 1: In normal usage, a will be positive and b will be negative, so that the segment boundary, Àb/a, occurs at a positive value of x. The function is identically zero in the lower segment (Figure 26.5). The argument s is non-negative throughout the higher segment, where the power law is in effect: ðÀb=a x Þ)ð0 ax þb ¼ sÞ: This conclusion is verified by multiplying both sides of the first inequality by a and then adding b; it holds only if a > 0, however. Indeed, the inequ ality is reversed for negative a. (And if a ¼0, the segment boundary itself is indeterminate.) It seems reasonable to impose Use of the parametricCurveType 225 the condition a > 0 as a requirement, so negative and zero values can then be treated as errors, and the CMM can take appropriate action – for instance, by substituting a ¼1orsomeother default. But, as in the case of g, the CMM developer needs to be reassur ed that profile creators do not have a legitimate use for negative or zero values. Another reason to require that a be positive is that it compels the power-law function to be monotonically non-decreasing, which is the normal case. Similarly, one might consider imposing the condition b < 0. However, this is probably not necessary. Positive values of b simply mean that the segment boundary will occur at negative x. The power law will be in effect over the entire domain, and there will be no lower segment with y ¼0. In such a case, s will always be positive, and there will be no risk of complex values. (See Figure 26.6.) Note that, if the profile creator’s intention is to have y ¼1 just where x ¼1, then the parameters should meet the condition a þ b ¼1. Type 2 curves have a similar structure, with a segment boundary at x ¼Àb/a, so the same analysis applies. However, in types 3 and 4, the segment boundary is defined by an independent parameter, d. In the absence of restrictions, it is quite possible for d to be less than Àb/a. There can then be values of x in the higher segment ( x > d) at which s ¼ax þ b will be negative. The power law may then produce complex numbers. Figure 26.7 shows such an example. Here the absolute magnitude has been taken of the complex y values in the interval between d and Àb/a, but that is an arbitrary choice. A CMM may, just as arbitrarily, take the real part of the y values or set them to zero. Since the occurrence of complex values is unlikely to be intentional, there is no universally correct way to handle them. 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 1: a > 0, b < 0 x y Figure 26.5 f 1 (x), with boundary at 0.2 226 Profile Construction and Evaluation 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 3: d = 0.1, −b/a = 0.5 x y Figure 26.7 f 3 (x), with absolute magnitude of complex y values 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 1: a > 0, b > 0 x y Figure 26.6 f 1 (x), with boundary at negative x Use of the parametricCurveType 227 To prevent complex values occurring, the CMM could reject such a value of d and replace it with d ¼Àb=a. (See Figure 26.8.) The ICC recommends that d !Àb=a and profile creators should be aware that CMMs may impose this condition. 26.4 Continuity Continuity across the segment boundary is guaranteed for types 1 and 2. For type 1 (see definition above), the value of s is exactly zero at the boundary, so the power law will yield a value of zero there. Below the boundary, in the lower segment, the function is identically zero, so f 1 (x) is continuous by definition. Type 2 is similar to type 1, with the addition of an offset: y ¼ f 2 ðxÞ¼c; 0 ¼ x < Àb=a ¼ s g þc; Àb=a x 1; where c is a constant parameter. The function is identically equal to c in the lower segment, and the power-law curve (in the upper segment) starts out at c,sof 2 (x) is also guaranteed to be continuous at the segment boundary. Figure 26.9 shows a typical example. Types 3 and 4 do not enjoy a similar guarantee. Here is the definition of type 3: y ¼ f 3 ðxÞ¼cx; 0 x < d ¼ s g ; d x 1: 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 3: d = 0.1, changed to d = −b/a = 0.5 x y Figure 26.8 f 3 (x), with complex y values eliminated 228 Profile Construction and Evaluation The function will be continuous at x ¼d only if cd ¼ðad þbÞ g : Figure 26.10 shows a curve that violates this condition. 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 2: a > 0, b < 0, c > 0 x y Figure 26.9 f 2 (x) with positive vertical offset 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 3: Positive discontinuity at x = d x y Figure 26.10 f 3 (x), discontinuous Use of the parametricCurveType 229 Type 4 is defined as follows: y ¼ f 4 ðxÞ¼cx þf ; 0 ¼ x < d ¼ s g þe; d x 1 where e and f are additional parameters. The corresponding continuity condition is cd þf ¼ðad þbÞ g þe; a relation involving seven parameters. Figure 26.11 shows a curve violating this condition. Clearly, the profile creator should be aware of these conditions. In most, if not all, cases, the intention will be to encode a c ontinuous function. Minor discontinuities may well occur through rounding of the parameter values, however, and they can be of either sign, so that reversals (non-monotonic behavior) will occur if the discontinuity is negative. Care is needed in the computation of the parameters if continuity problems are to be avoided. Discontinuities in themselves do not cause computational problems for the CMM, at least for forward evaluation, so it may be best to leave this issue to the profile creator. The problems related to inverse evaluation of discontinuous curves will be discussed below. It is worth pointing out that arbitrary parameter values can lead to strange curve shapes. Discontinuities can be large enough that the function values go out of bounds and get clipped. If the discontinuities are negative, monotonicity can be dramatically violated in such cases as well. (Figure 26.2 above is an example of this behavior.) 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 4: Positive discontinuity at x = d x y Figure 26.11 f 4 (x), discontinuous 230 Profile Construction and Evaluation 26.5 Smoothness In most cases, it is not enough for the curve to be continuous at the segment boundary: it should also be smooth. This means that the first derivative must be continuous across the boundary. In the case of types 1 and 2, the first derivative is zero in the lower (flat) segment. The derivative of the power law at the boundary will also be zero if g > 1, and the function will then be smooth. On the other hand, if g ¼1, the derivative will be equal to one, and if g < 1, it will diverge; in these cases, the curve will take an abrup t bend at the segment boundary. These effects are evident in Figure 26.12. For types 3 and 4, smoothness can be achieved only by satisfying the condition c ¼ agðad þbÞ gÀ1 ; as well as the continuity condition discussed above. In general, smoothness is a concern for the profile creator, not for the CMM. 26.6 Inverse Evaluation Curves in output profile lutAToBType and lutBToAType tags do not normally need to be inverted since the inverse of the lutAToBType is provided by the lutBToAType and vice versa; and similarly for MPE tags, where both forward and inverse functions are provided. Input profiles, where the lutBToAType may not be present, are not inverted in normal practice. 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 1: Slope discontinuities x y 0.5 1.0 2.0 Figure 26.12 f 1 (x), showing effect of g on smoothness Use of the parametricCurveType 231 Matrix/TRC profiles contain xTRCTag curves (where x is red, green, or blue) which in v4 profiles can be defined as parametricCurveTypes, and such profiles com monly require to be inverted by the CMM in order to map PCS values back to the data encoding. Several kinds of problems can arise when a parametric curve needs to be evaluated in the inverse direction. The most common problem occurs when there is a finite segment of the domain in which the function is constant, or flat.Ify ¼k (a constant) for all x in a subinterval [x 1 , x 2 ], there is no unique inverse at k, since any value in that subinterval is a legitimate candidate. While ma thematically the inverse simply does not exist, computa- tionally we may say that the inverse is ambiguous (non-unique), and attempt to remove the ambiguity. For instance, in type 1 the function is identically zero in the lower segment [0, Àb/a]. For y > 0, the inverse is simply x ¼ F 1 ðyÞ¼ð1=aÞ y 1=g Àb but at y ¼0 the inverse is ambiguous: it can be any value in the range [0, Àb/a]. Figure 26.13 shows the inverse of the curve of Figure 26.5. Some CMM developers may choose to return 0 for the inverse at y ¼0, on the ground s that the function passes through zero at zero, and that that feature should be retained in the inverse. Others may choose to return Àb/a, on the grounds of continuity. Still others may decide to split the difference and return Àb/(2a). Flat segments are explicit in the definitions of types 1 and 2. They can also occur in types 3 and 4 if the slope parameter, c, in the lower segment has the value of zero. Furthermore, flat segments can be produced by the clipping of out-of-bounds values to zero or one. 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 1: a > 0, b < 0 y x ???? Figure 26.13 F 1 (y), ambiguous inverse at y ¼0 232 Profile Construction and Evaluation In a type 1 or 2 curve, if a þ b > 1, the argument s will reach one before x ¼1. The curve will then go out of bounds at that point, and clipping will create a flat segment with y ¼1 at the end of the unit interval. Further, suppose that the offset parameter c is negative in a type 2 curve. Then the function values will be clipped to zero throughout the lower segment and for some portion of the upper segment. In effect, this will create a flat segment with y ¼0. See Figure 26.14 for an example of a curve with two flat segments, due to clipping at zero and at one. Clipping can also affect type 3 and type 4 curves. In fact, since these curves can also be discontinuous (and non-monotonic) at the segment boundary, the functions can be clipped to zero or one in either the lower or the higher segment, or both. The “pathological” curve of Figure 26.2 is a type 4 curve with these properties. No matter how a flat segment arises, it presents an inversion ambiguity, which must be resolved by the CMM. Other inversion problems can occur when the curve misses some values of y in the unit interval. For instance, if c is positive in a type 2 curve, values of x in the lower segment w ill produce y ¼c,andvaluesofx in the upper segment will produce values of y > c. No value of x will produce a value of y below c. (See Figure 26.9 for an example.) Thus, for y < c,the inverse is completely undefined. CMMs may well vary in their handling of this situation: some may return 0, others Àb/a or some other value. Similarly, in a type 1 curve, if a þ b < 1, the argument s will never reach one (for x in the unit interval). Values of y > (a þ b) g will never occur, and their inverse will be ambiguous. In this case, most CMMs would return 1 for these y values. (See Figure 26.15 for a type 1 curve with missing y values at both ends of the range.) 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Type 2: a > 0, b < 0, c < 0 x y Figure 26.14 f 2 (x) with clipping Use of the parametricCurveType 233 [...]... ICCBased color space is included in the CIEBased color space family This enables an ICC Device or ColorSpace profile to be embedded to define the source color space of an object in a PDF document Each object within the PDF file can be associated with an ICC profile in this way Embedding and Referencing ICC Profiles 243 Except when used in compositing, only the AToBx transform is used to interpret the source colors... PCSXYZ to colorimetric density can be performed by applying a base 10 log in the B curve The matrix and M curves are not used The final one-dimensional A curves are then used as a look-up between the CLUT output and the fractional colorant amount, and will usually be close to linear In this case the relationship between colorimetric density and colorant amount might be found by measurement of single color. .. support the specification of an image color space using the Exchangeable Image File Format (EXIF) color space tag The profiles themselves are not stored, the color space tag providing an indication of suitable profiles to use in interpreting the image data Currently only sRGB and Adobe RGB (1998) are defined for this tag, but since multiple profiles can exist for a single color space, there can be some ambiguity... the profile The DNG format provides an extensive range of color calibration tags, which are intended to specify the conversion from the sensor data stored in the DNG file and a scenereferred colorimetric color space The ICC profile additionally provides any tone and gamut mapping required to convert the scene-referred image data to an output-referred color encoding 27.3 Embedding and Referencing Profiles... in the ICC profile is ignored since the rendering intent for the document is specified elsewhere in the PDF file An ICCBased color space is specified within the PDF file as an array: [/ICCBased stream] The stream requires entries defining the number of color components and an alternate color space (needed only when the PDF consumer may not be able to interpret the profile, such as when the ICC version of the... profile, and the profile data color space Full details are given in the parts of ISO 15930 corresponding to the PDF/X version 27.4 OpenXPS OpenXPS is the XML-based document format, originally based on the Microsoft XML Paper Specification, now undergoing standardization by the European Computer Manufacturers Association (ECMA) Each color object in an OpenXPS document has a source color space, defined as sRGB,... such support varies between browsers: in one case color management must be explicitly enabled by the user, while in another images in color spaces other than RGB are supported Cascading Style Sheets (CSS) [7] are used in conjunction with HTML and XML to provide descriptions of how pages should be rendered At the time of writing, the proposed CSS3 defines a color property via HTML and SVG keywords and RGB... Recommendation, a color profile” property was defined, together with a “rendering intent” property, but these are not included in the current working draft However, they may be included in future levels of CSS There are resources on the ICC web site for checking the extent to which browsers and other applications support color management, embedded profiles, and the current specification version See http://www .color. org/version4ready.html... unambiguous transform operating on colorimetry that can be relative to the appropriate adopted white The adopted white is either the medium or a perfectly reflecting diffuser, and in the case of media-relative rendering intent a well-defined color gamut is associated with the transform so that an output profile does not require knowledge of the input medium or its profile or color gamut The steps in creating... combining matrix, curve, and CLUT elements are given below 1 Convert PCSXYZ to CMYK printer, using colorimetric density as the domain of the CLUT Colorimetric density is the base 10 log of the tristimulus value [4] It is a more perceptually uniform domain than XYZ, and is better correlated with CMYK colorant amounts than CIELAB In printer characterization it is usually applied in media-relative form, . support the specification of an image color space using the Exchangeable Image File Format (EXIF) color space tag. The profiles themselves are not stored, the color space tag providing an indicati. an extensive range of color calibration tags, which are intended to specify the conversion from the sensor data stored in the DNG file and a scene- referred colorimetric color space. The ICC profile. ICCBased color space is included in the CIEBased color space family. This enables an ICC Device or ColorSpace profile to be embedded to define the source color space of an object in a PDF document.