Tone Dependent Color Error Diffusion HalftoningGrayscale Error DiffusionPowerPoint PresentationTone Dependent Error DiffusionTone Dependent Color Error DiffusionSlide 6Slide 7Slide 8Linear CIELab Color Space TransformationHVS FilteringSearch Algorithm [Li, Allebach 2002]ResultsSlide 13Slide 14Slide 15Slide 16Slide 17Back Up SlidesSlide 19Slide 20Slide 21Slide 22Slide 23Tone Dependent Color Error Diffusion HalftoningMulti-Dimensional DSP ProjectVishal Monga, April 30, 20033/167/165/16 1/16+__+e(m)b(m)x(m)difference thresholdcompute errorshape erroru(m))(mhGrayscale Error Diffusion•2- D sigma delta modulation [Anastassiou, 1989]•Shape quantization noise into high frequencies•Linear Gain Model [Kite, Evans, Bovik, 1997]–Replace quantizer by scalar gain Ks and additive noise imagecurrent pixelweights zzHKXKss11)( )()(1 zz NHTransfer functionsDirect Binary Search [Analoui, Allebach 1992]• Computationally too expensive for real-time applns. viz. printing• Used in screen design• Serves as a practical upper bound for achievable halftone qualityTone Dependent Error Diffusion•Train error diffusionweights and thresholdmodulation[Li & Allebach, 2002]b(m)+__+e(m)x(m)Tone dependent error filter mxh mxQTone dependent threshold modulationGraylevel patch xHVS- mm xxQh ,Halftone patternfor graylevel x FFTFFTDBS patternfor graylevel x - mm xxQh ,Halftone patternfor graylevel x FFTFFTMidtone regionsHighlights and shadowsTone Dependent Color Error Diffusion•Color TDED, Goal–Obtain optimal (in visual quality) error filters with filter weights dependent on input RGB triplet (or 3-tuple)•Extension to color is non-trivial–Applying grayscale TDED independently to the 3 color channels ignores the correlation amongst them•Choice of error filter –Separable error filters for each color channel–Matrix valued filters [Damera-Venkata, Evans 2001]•Design of error filter key to quality–Take human visual system (HVS) response into accountTone Dependent Color Error Diffusion•Problem(s):–Criterion for error filter design ?–(256)3 possible input RGB tuples•Solution–Train error filters to minimize the visually weighted squared error between the magnitude spectra of a “constant” RGB image and its halftone pattern–Design error filters along the diagonal line of the color cube i.e. (R,G,B) = {(0,0,0) ; (1,1,1) …(255,255,255)} –Color screens are designed in this manner–256 error filters for each of the 3 color planesColor TransformationsRGB Yy Cx Cz(Linearized CIELab)FFTFFTInput RGB PatchHalftone Pattern Perceptual Error MetricHVS ChrominanceFrequency ResponseHVS Luminance Frequency ResponseHVS ChrominanceFrequency Response---Total Squared Error (TSE)YyCxCzPerceptual Error Metric• Find optimal error filters that minimize TSE subject to diffusion and non-negativity constraints, m = r,g,b; a (0,255) 1ak;hkm k S 0ak;h m(Floyd-Steinberg)I)3/1(),,(),,( baLzxyCCYLinear CIELab Color Space Transformation•Linearize CIELab space about D65 white point [Flohr, Kolpatzik, R.Balasubramanian, Carrara, Bouman, Allebach, 1993]Yy = 116 Y/Yn – 116 L = 116 f (Y/Yn) – 116 Cx = 200[X/Xn – Y/Yn] a = 200[ f(X/Xn ) – f(Y/Yn ) ] Cz = 500 [Y/Yn – Z/Zn] b = 500 [ f(Y/Yn ) – f(Z/Zn ) ]wheref(x) = 7.787x + 16/116 0 ≤ x < 0.008856f(x) = x1/3 0.008856 ≤ x ≤ 1•Decouples incremental changes in Yy, Cx, Cz at white point on (L,a,b) values•Transformation is sRGB CIEXYZ YyCx CzHVS Filtering•Filter chrominance channels more aggressively–Luminance frequency response [Näsänen and Sullivan, 1984]L average luminance of display weighted radial spatial frequency–Chrominance frequency response [Kolpatzik and Bouman, 1992]–Chrominance response allows more low frequency chromatic error not to be perceived vs. luminance response ~)()( )()~(LYeLKWy ),()(AeWzxCC~Set p(0) to be the optimal value from the last designed “3 tuple”(First choice: p(0) Floyd-Steinberg)hw = 1/16 , i = 0while (p(i) p(i-1)) { find p(i+1) Nhw (p(i)) that minimizes the total squared error (TSE) i i + 1 }while (hw 1/256) {hw hw/2find p(i+1) Nhw (p(i)) that minimizes TSEi i + 1 } Search Algorithm[Li, Allebach 2002] a))(k;h a),(k;h , a)(k;h(bgrp Let p be the vector of “filter weights” define the neighborhood of a))(k;h a),(k;h , a)(k;h()()()()( ibigirip bgrmhpNwimmbgrihw,,,a)(k;h - a)(k;h :)a)(k;h , a)(k;h , a)(k;h()()()(a (0,255), k = (k1, k2), k Sa) Original b) FS Halftone c) TDED SerpentineResultsa)b)c)d) TDED Raster e) TDED 2-row serp f) Detail of FS (left) and TDEDd)e)f)OriginalHouse ImageFloyd Steinberg HalftoneTDED HalftoneConclusion•Color TDED–Worms and other directional artifacts removed–False textures eliminated–Visibility of “halftone-pattern” minimized (HVS model)–More accurate color rendering at extreme levels •Scan path choice–Serpentine scan gives best results (not parallelizable)–2-row serpentine gives comparable quality•Future Work –Design “optimum” matrix valued filters ?–Look for better HVS models/transformationsBack Up SlidesHVS model details, Monochrome images Yy, Cx planes of color halftonesFloyd Steinberg Yy componentFloyd Steinberg Cx componentTDED Yy componentTDED Cx componentHVS Filtering contd….21)4cos(21)(wwswhere p = (u2+v2)1/2 and )arctan(uv)(~spp w – symmetry parameter)(sreduces contrast sensitivity at odd multiples of 45 degrees• Role of frequency weighting– weighting by a function of angular spatial frequency [Sullivan, Ray, Miller 1991] equivalent to dumping the luminance error across the diagonals where the eye is least
View Full Document