- 85 Views
- Uploaded on
- Presentation posted in: General

Quantization

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

- If too few levels of gray, (e.g. decrease halftone spot size to increase spatial resolution), then boundaries between adjacent gray levels become apparent. This can happen in color halftoning also.
- See demo at http://www.ctr.columbia.edu/~sfchang/course/dip/demos/Quat.html

- Distance from white point
- Adding white desaturates but does not change hue or perceptual brightness.
- HSB model is approximate representative of this. See PhotoShop

- Calibration to standard space
- typically CIE XYZ

- Coordinate transforms through standard space
- Gamut mapping

- Stone et. al. “Color Gamut Mapping and the Printing of Digital Color Images”, ACM Transactions on Graphics, 7(4) October 1998, pp. 249-292.
- The following slides refer to their techniques.

- Sample gamut in device space on 8x8x8 mesh (7x7x7 = 343 cubes).
- Measure (or model) device on mesh.
- Interpolate with trilinear interpolation
- for small mesh and reasonable function XYZ=f(device1, device2, device3) this approximates interpolating to tangent.

- Invert function XYZ=f(device1, device2, device3)
- hard to do in general if f is ill behaved
- At least make f monotonic by throwing out distinct points with same XYZ.

- e.g. CMY device:
- (continued)

- Invert function XYZ=f(c,m,y)
- Given XYZ=[x,y,z] want to find CMY=[c,m,y] such that f(CMY)=XYZ
- Consider X(c,m,y), Y(c,m,y), Z(c,m,y)
- A continuous function on a closed region has max and min on the region boundaries, here the cube vertices. Also, if a continuous function has opposite signs on two boundary points, it is zero somewhere in between.

- Given X0, find [c,m,y] such that f(c,m,y) = X0
- if [ci,mi,yi] [cj,mj,yj] are vertices on a given cube, and U=X(c,m,y)- X0 has opposite sign on them, then it is zero in the cube. Similarly Y, Z. If find such vertices for all of X0,Y0,Z0, then the found cube contains the desired point. (and use interpolation). Doing this recursively will find the desired point if there is one.

- Criteria:
- preserve gray axis of original image
- maximum luminance contrast
- few colors map outside destination gamut
- hue, saturation shifts minimized
- increase, rather than decrease saturation
- do not violate color knowledge, e.g. sky is blue, fruit colors, skin colors

- Special colors and problems
- Highlights: this is a luminance issue so is about the gray axis
- Colors near black: locus of these colors in image gamut must map into something reasonably similar shape else contrast and saturation is wrong

- Special colors and problems
- Highly saturated colors (far from white point): printers often incapable.
- Colors on the image gamut boundary occupying large parts of the image. Should map inside target gamut else have to project them all on target boundary.

Gamuts

CRT

Printer

- First try: map black points and fill destination gamut.

device gamut

image gamut

device gamut

translate Bito Bd

image gamut

bs (black shift)

device gamut

translate Bito Bd

image gamut

scale by csf

device gamut

translate Bito Bd

image gamut

scale by csf

rotate

Xd = Bd + csf R (Xi - Bi)

Bi = image black, Bd = destination black

R = rotation matrix

csf = contrast scaling factor

Xi = image color, Xd = destination color

Problems:

Image colors near black outside of destination are especially bad: loss of detail, hue shifts due to quantization error, ...

- Xd = Bd + csf R (Xi - Bi) + bs (Wd- Bd)

shift and scale alongdestination gray

Fig 14a, bs>0, csf small, image gamut maps entirelyinto printer gamut, but contrast is low.

Fig 14b, bs=0, csf large, more contrast, more colors inside printer gamut, butalso more outside.

- “Umbrella transformation”
[Rs Gs Bs] = monitor whitepoint

[Rn Gn Bn] new RGB coordinates such that Rs + Gs + Bs =Rn + Gn + Bnand [Rn Gn Bn] maps inside destination gamut

First map R Rs+G Gs+B Bsto R Rn+G Gn+B Bn

Then map into printer coordinates

Makes minor hue changes, but “relative” colors preserved. Achromatic remain achromatic.

- After all, some colors remain outside printer gamut
- Project these onto the gamut surface:
- Try a perpendicular projection to nearest triangular face in printer gamut surface.
- If none, find a perpendicular projection to the nearest edge on the surface
- If none, use closest vertex

- This is the closest point on the surface to the given color
- Result is continuous projection if gamut is convex, but not else.
- Bad: want nearby image colors to be nearby in destination gamut.

- Problems
- Printer gamuts have worst concavities near black point, giving quantization errors.
- Nearest point projection uses Euclidean distance in XYZ space, but that is not perceptually uniform.
- Try CIELAB? SCIELAB?
- Keep out of gamut distances small at cost of use of less than full printer gamut use.