Upload
leandra-winters
View
32
Download
3
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
Tone Dependent Color Error Diffusion Halftoning
Multi-Dimensional DSP Project
Vishal Monga,
April 30, 2003
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
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
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
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
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
Color Transformation
sRGB Yy Cx Cz
(Linearized CIELab)
FFT
FFT
Input RGB Patch
Halftone Pattern
Perceptual Error Metric
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)
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
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
~
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
a) Original b) FS Halftone c) TDED Serpentine
Results
a)
b)
c)
d) TDED Raster e) TDED 2-row serp f) Detail of FS (left) and TDED
d)
e)
f)
Original
House Image
Floyd Steinberg Halftone
TDED Halftone
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
Back Up Slides
HVS model details, Monochrome images Yy, Cx planes of color
halftones
Floyd Steinberg Yy
component
Floyd Steinberg Cx
component
TDED Yy
component
TDED Cx
component
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.