23
Tone Dependent Color Error Diffusion Halftoning Multi-Dimensional DSP Project Vishal Monga, April 30, 2003

Tone Dependent Color Error Diffusion Halftoning

Embed Size (px)

DESCRIPTION

Tone Dependent Color Error Diffusion Halftoning. Multi-Dimensional DSP Project Vishal Monga, April 30, 2003. current pixel. difference. threshold. u ( m ). x ( m ). b ( m ). _. +. Transfer functions. 7/16. _. +. 3/16. 5/16. 1/16. e ( m ). weights. shape error. compute error. - PowerPoint PPT Presentation

Citation preview

Page 1: Tone Dependent Color Error Diffusion Halftoning

Tone Dependent Color Error Diffusion Halftoning

Multi-Dimensional DSP Project

Vishal Monga,

April 30, 2003

Page 2: Tone Dependent Color Error Diffusion Halftoning

3/16

7/16

5/16 1/16

+ _

_+

e(m)

b(m)x(m)

difference threshold

compute error

shape error

u(m)

)(mh

Grayscale 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 image

current pixel

weights z

z

HK

XK

s

s

11

)(

)()(1 zz NH

Transfer functions

Page 3: Tone Dependent Color Error Diffusion Halftoning

Direct 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 quality

Page 4: Tone Dependent Color Error Diffusion Halftoning

Tone Dependent Error Diffusion

• Train error diffusionweights and thresholdmodulation[Li & Allebach, 2002]

b(m)+ _

_+

e(m)

x(m)

Tone dependent error filter

mxh

mxQ

Tone dependent threshold modulation

Graylevel patch x

HVS

mm xx Qh ,Halftone pattern

for graylevel x FFT

FFT

DBS pattern

for graylevel x

mm xx Qh ,

Halftone pattern

for graylevel x FFT

FFT

Midtone regions

Highlights and shadows

Page 5: Tone Dependent Color Error Diffusion Halftoning

Tone 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

account

Page 6: Tone Dependent Color Error Diffusion Halftoning

Tone 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 planes

Page 7: Tone Dependent Color Error Diffusion Halftoning

Color Transformation

sRGB Yy Cx Cz

(Linearized CIELab)

FFT

FFT

Input RGB Patch

Halftone Pattern

Perceptual Error Metric

Page 8: Tone Dependent Color Error Diffusion Halftoning

HVS ChrominanceFrequency Response

HVS Luminance Frequency Response

HVS ChrominanceFrequency Response

Total Squared Error (TSE)

Yy

Cx

Cz

Perceptual Error Metric

• Find optimal error filters that minimize TSE subject to diffusion and non-negativity constraints, m = r,g,b; a (0,255)

1ak;hk

m k S 0ak;h m (Floyd-Steinberg)

Page 9: Tone Dependent Color Error Diffusion Halftoning

I)3/1(),,(),,( baLzxy CCY

Linear 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 Cz

Page 10: Tone Dependent Color Error Diffusion Halftoning

HVS 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

~)(

)( )()~( LY eLKW

y

),( )( AeW

zx CC

~

Page 11: Tone Dependent Color Error Diffusion Halftoning

Set p(0) to be the optimal value from the last designed “3 tuple”

(First choice: p(0) Floyd-Steinberg)

hw = 1/16 , i = 0

while (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/2

find p(i+1) Nhw (p(i)) that minimizes TSE

i 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( )()()()( ib

ig

ir

ip

bgrmhpN wi

mmbgri

hw ,,,a)(k;h - a)(k;h :)a)(k;h , a)(k;h , a)(k;h()( )()(

a (0,255), k = (k1, k2), k S

Page 12: Tone Dependent Color Error Diffusion Halftoning

a) Original b) FS Halftone c) TDED Serpentine

Results

a)

b)

c)

Page 13: Tone Dependent Color Error Diffusion Halftoning

d) TDED Raster e) TDED 2-row serp f) Detail of FS (left) and TDED

d)

e)

f)

Page 14: Tone Dependent Color Error Diffusion Halftoning

Original

House Image

Page 15: Tone Dependent Color Error Diffusion Halftoning

Floyd Steinberg Halftone

Page 16: Tone Dependent Color Error Diffusion Halftoning

TDED Halftone

Page 17: Tone Dependent Color Error Diffusion Halftoning

Conclusion

• 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/transformations

Page 18: Tone Dependent Color Error Diffusion Halftoning

Back Up Slides

HVS model details, Monochrome images Yy, Cx planes of color

halftones

Page 19: Tone Dependent Color Error Diffusion Halftoning

Floyd Steinberg Yy

component

Page 20: Tone Dependent Color Error Diffusion Halftoning

Floyd Steinberg Cx

component

Page 21: Tone Dependent Color Error Diffusion Halftoning

TDED Yy

component

Page 22: Tone Dependent Color Error Diffusion Halftoning

TDED Cx

component

Page 23: Tone Dependent Color Error Diffusion Halftoning

HVS Filtering contd….

2

1)4cos(

2

1)(

wws

where p = (u2+v2)1/2 and )arctan(u

v

)(~

s

pp

w – symmetry parameter

)(s reduces 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 sensitive.