+ All Categories
Home > Documents > Error Diffusion Halftoning Methods for Image Display

Error Diffusion Halftoning Methods for Image Display

Date post: 17-Jan-2016
Category:
Upload: corby
View: 41 times
Download: 0 times
Share this document with a friend
Description:
Error Diffusion Halftoning Methods for Image Display. Prof. Brian L. Evans. Embedded Signal Processing Laboratory The University of Texas at Austin Austin, TX 78712-1084 USA http:://www.ece.utexas.edu/~bevans. - PowerPoint PPT Presentation
63
Ph.D. Graduates: Dr. Niranjan Damera- Dr. Niranjan Damera- Venkata Venkata (HP Labs) (HP Labs) Dr. Thomas D. Kite Dr. Thomas D. Kite (Audio (Audio Precision) Precision) Dr. Vishal Monga Dr. Vishal Monga (Xerox Labs) (Xerox Labs) Ph.D. Student: Mr. Hamood Rehman Mr. Hamood Rehman Embedded Signal Processing Laboratory The University of Texas at Austin Austin, TX 78712-1084 USA http:://www.ece.utexas.edu/ ~bevans Prof. Brian L. Evans Prof. Brian L. Evans Error Diffusion Halftoning Error Diffusion Halftoning Methods for Methods for Image Display Image Display March 22, 2008 March 22, 2008
Transcript
Page 1: Error Diffusion Halftoning Methods for Image Display

Ph.D. Graduates: Dr. Niranjan Damera-Venkata Dr. Niranjan Damera-Venkata (HP Labs)(HP Labs) Dr. Thomas D. Kite Dr. Thomas D. Kite (Audio Precision)(Audio Precision) Dr. Vishal Monga Dr. Vishal Monga (Xerox Labs)(Xerox Labs)

Ph.D. Student: Mr. Hamood RehmanMr. Hamood Rehman

Embedded Signal Processing Laboratory

The University of Texas at Austin

Austin, TX 78712-1084 USA

http:://www.ece.utexas.edu/~bevans

Prof. Brian L. EvansProf. Brian L. Evans

Error Diffusion Halftoning Methods forError Diffusion Halftoning Methods forImage DisplayImage Display

March 22, 2008March 22, 2008

Page 2: Error Diffusion Halftoning Methods for Image Display

2

OutlineOutline

• Introduction

• Grayscale error diffusion– Analysis and modeling– Enhancements

• Color error diffusion– Vector quantization with

separable filtering

– Matrix-valued error filtermethods

• Conclusion

Barbara image

Peppers image

Page 3: Error Diffusion Halftoning Methods for Image Display

3

Need for Digital Image HalftoningNeed for Digital Image Halftoning

• Examples of reduced grayscale/color resolution– Laser and inkjet printers ($9.3B revenue in 2001 in US)– Low-cost liquid crystal displays– Reflective displays, e.g. on cell phones

• Halftoning is wordlength reduction for images– Grayscale: 8-bit image to 1-bit image (ink dot, or no ink dot)– Color: 24-bit RGB image to 12-bit RGB display (PDAs)

• Halftoning tries to reproduce full range of gray/ color while preserving quality & spatial resolution– Screening methods quantize each pixel value (feedforward)– Error diffusion methods quantize each pixel value and filter

resulting quantization error (feedback)

Introduction

Page 4: Error Diffusion Halftoning Methods for Image Display

4

Need for Speed for Digital Image HalftoningNeed for Speed for Digital Image Halftoning

• Third-generation ultra high-speed printer (CMYK)– 100 pages per minute, 600 lines per inch, 4800 dots/inch/line

– Output data rate of 7344 MB/s (HDTV video is ~96 MB/s)

• Desktop color printer (CMYK)– 24 pages per minute, 600 lines/inch, 600 dots/inch/line

– Output data rate of 220 MB/s (NTSC video is ~24 MB/s)

• Parallelism in common halftoning algorithms– Screening: pixel-parallel, fast, and easy to implement

(2 byte reads, 1 compare, and 1 bit write per binary pixel)

– Error diffusion: row-parallel, better results on some media(5 byte reads, 1 compare, 4 MACs, 1 byte and 1 bit write per binary pixel)

Introduction

Page 5: Error Diffusion Halftoning Methods for Image Display

5

Binarize Image Using a Fixed ThresholdBinarize Image Using a Fixed Threshold

• 8-bit grayscale image– Each pixel value represents image intensity

– Each pixel value is unsigned 8-bit number in [0, 255]

– For display: black is 0, white is 255, and mid-gray is 128

• Threshold each pixel using same fixed threshold– If pixel value 128, output 255; otherwise, output 0

Introduction

Threshold at Mid-GrayOriginal Image

b(m)x(m)

Page 6: Error Diffusion Halftoning Methods for Image Display

6

Screening (Masking) MethodsScreening (Masking) Methods

• Periodic thresholds to binarize image– Periodic application leads to aliasing (gridding effect)

– Clustered dot screening is more resistant to ink spread

– Dispersed dot screening has higher spatial resolution

– Blue noise screening uses larger masks (e.g. 1” by 1”)

Introduction

256*32

31,

32

29,

32

27,

32

25,

32

23,

32

21,

32

19,

32

17,

32

15,

32

13,

32

11,

32

9,

32

7,

32

5,

32

3,

32

1

Clustered dot mask Dispersed dot mask

Threshold Lookup

Table

index

Page 7: Error Diffusion Halftoning Methods for Image Display

7

1 sampledelay

Inputsignalwords

Todisplaydevice

4 2

2 2

Adder Inputs OutputTime Upper Lower Sum to display 1 1001 00 1001 10 2 1001 01 1010 10 3 1001 10 1011 10 4 1001 11 1100 11

Periodic

addednoise

f

12 dB(2 bits)

Adding Feedback to Quantization: ExampleAdding Feedback to Quantization: Example

• Consider 4-bit signal on 2-bit display deviceUnsigned data

Feedback quantization error

For constant input of 1001…

• Average output value1/4(10+10+10+11) = 1001

4-bit resolution at DC !

• Wordlength reductionTruncating 4 bits to 2 bits

increases noise by ~12 dB

Feedback removes noise at DC but increases noise at

high frequency

Introduction

Page 8: Error Diffusion Halftoning Methods for Image Display

8

current pixel

error filter weights

3/16

7/16

5/16 1/16

difference threshold

+ _

_+

e(m)

b(m)x(m)

compute error

shape error

u(m)

)(mh

Error Diffusion HalftoningError Diffusion Halftoning

• Nonlinear feedback system– Quantize each pixel

– Filter quantization error (noise)

– Add filtered output to “future” grayscale pixels to diffuse quantization error

Introduction

Error Diffusion

Original Image

Page 9: Error Diffusion Halftoning Methods for Image Display

9

Introduction

Dispersed Dot ScreeningThreshold at Mid-Gray

Clustered Dot

Screening

Floyd SteinbergError Diffusion

Stucki Error Diffusion

Original Image

Conversion to One Bit Per Pixel: Spatial DomainConversion to One Bit Per Pixel: Spatial Domain

Page 10: Error Diffusion Halftoning Methods for Image Display

10

Introduction

Original Image Threshold at Mid-Gray Dispersed Dot Screening

Stucki Error Diffusion

Clustered DotScreening

Floyd SteinbergError Diffusion

Conversion to One Bit Per Pixel: Magnitude SpectraConversion to One Bit Per Pixel: Magnitude Spectra

Page 11: Error Diffusion Halftoning Methods for Image Display

11

Human Visual System ModelingHuman Visual System Modeling

• Contrast at particular spatialfrequency for visibility– Bandpass: non-dim

backgrounds[Manos & Sakrison, 1974; 1978]

– Lowpass: high-luminance officesettings with low-contrast images[Georgeson & G. Sullivan, 1975]

– Exponential decay [Näsäsen, 1984]

– Modified lowpass version[e.g. J. Sullivan, Ray & Miller, 1990]

– Angular dependence: cosinefunction [Sullivan, Miller & Pios, 1993]

Introduction

Page 12: Error Diffusion Halftoning Methods for Image Display

12

Grayscale Error Diffusion HalftoningGrayscale Error Diffusion Halftoning

• Aperiodic halftones• Shape quantization noise into high

frequencies, which are less visible• Design of error filter key to quality

Introduction

Error Diffusion

Spectrum

current pixel

error filter weights

3/16

7/16

5/16 1/16

difference threshold

+ _

_+

e(m)

b(m)x(m)

compute error

shape error

u(m)

)(mh

Page 13: Error Diffusion Halftoning Methods for Image Display

13

Analysis of Error Diffusion IAnalysis of Error Diffusion I

• Error diffusion as 2-D sigma-delta modulation[Anastassiou, 1989] [Bernard, 1991]

• Error image [Knox, 1992]

– Error image correlated with input image– Sharpening proportional to correlation

• Serpentine scan places morequantization error along diagonalfrequencies than raster [Knox, 1993]

• Threshold modulation [Knox, 1993]

– Add signal (e.g. white noise) to quantizer input– Equivalent to error diffusing an input image modified by

threshold modulation signal

Analysis and Modeling

Raster

Serpentine

Page 14: Error Diffusion Halftoning Methods for Image Display

14

Example: Role of Error ImageExample: Role of Error Image

• Sharpening proportional to correlation between error image and input image [Knox, 1992]

Floyd-Steinberg

(1976)

Jarvis(1976)

Error images Halftones

Analysis and Modeling

Limit Cycles

Page 15: Error Diffusion Halftoning Methods for Image Display

15

Analysis of Error Diffusion IIAnalysis of Error Diffusion II

• Limit cycle behavior [Fan & Eschbach, 1993]

– For a limit cycle pattern, quantified likelihood of occurrence for given constant input as function of filter weights

– Reduced likelihood of limit cycle patterns by changing filter weights

• Stability of error diffusion [Fan, 1993]

– Sufficient conditions for bounded-input bounded-error stability: sum of absolute values of filter coefficients is one

• Green noise error diffusion[Levien, 1993] [Lau, Arce & Gallagher, 1998]

– Promotes minority dot clustering• Linear gain model for quantizer

[Kite, Evans & Bovik, 2000]

– Models sharpening and noise shaping effects (next slide)

Analysis and Modeling

Minority pixels

Page 16: Error Diffusion Halftoning Methods for Image Display

16

Linear Gain Model for QuantizerLinear Gain Model for Quantizer

• Sigma-delta modulation analysisLinear gain model for quantizer in 1-D

[Ardalan and Paulos, 1988]

Linear gain model for grayscale image[Kite, Evans, Bovik, 1997]

• Models error diffusion as linear, shift-invariantSignal transfer function (STF): quantizer acts as scalar gainNoise transfer function (NTF): quantizer acts as additive noise

Ks

us(m)

Signal Path

Ks us(m)

un(m)

n(m)

un(m) + n(m)

Noise Path

Q(.)u(m) b(m) {

Analysis and Modeling

x

Q(x)

255

0128 2550

Page 17: Error Diffusion Halftoning Methods for Image Display

17

Linear Gain Model for QuantizerLinear Gain Model for Quantizer

+ _

_+

e(m)

b(m)x(m) u(m)

)(mh

Ks

n(m)Quantizermodel

zz

z

HK

K

X

BSTF

s

ss

11)(

)(1

)(z

z

zH

N

BNTF n

Put noise in high frequencies

H(z) must be lowpass

)(H

Also, let Ks = 2

(Floyd-Steinberg)

1

STF2

Pass low frequencies

Enhance high frequencies

NTF

1

Highpass response(independent of Ks )

f(m)

Analysis and Modeling

Page 18: Error Diffusion Halftoning Methods for Image Display

18

Linear Gain Model for QuantizerLinear Gain Model for Quantizer

• Best linear fit for Ks between quantizer input u(m) and halftone b(m)

– Does not vary much for Floyd-Steinberg

– Can use average value to estimate Ks from only error filter

• Sharpening: proportional to Ks [Kite, Evans & Bovik, 2000]

Value of Ks: Floyd Steinberg < Stucki < Jarvis

• Weighted SNR using unsharpened halftoneFloyd-Steinberg > Stucki > Jarvis at all viewing distances

Analysis and Modeling

2)( )( minarg

m

mm buK s

(

)(

2

1

)(

)(

2

122 m

m

m

m

m

m

uE

uE

u

uK s

Image Floyd Stucki Jarvis

barbara 2.01 3.62 3.76

boats 1.98 4.28 4.93lena 2.09 4.49 5.32mandrill 2.03 3.38 3.45

Average 2.03 3.94 4.37

Page 19: Error Diffusion Halftoning Methods for Image Display

19

Enhancements I: Error Filter DesignEnhancements I: Error Filter Design

• Longer error filters reduce directional artifacts[Jarvis, Judice & Ninke, 1976] [Stucki, 1981] [Shiau & Fan, 1996]

• Fixed error filter design: minimize mean-squared error weighted by a contrast sensitivity functionAssume error image is white noise [Kolpatzik & Bouman, 1992]

Off-line training on images [Wong & Allebach, 1998]

• Adaptive least squares error filter [Wong, 1996]

• Tone dependent filter weights for each gray level [Eschbach, 1993] [Shu, 1995] [Ostromoukhov, 1998] [Li & Allebach, 2002]

Enhancements

Page 20: Error Diffusion Halftoning Methods for Image Display

20

Example: Tone Dependent Error DiffusionExample: Tone Dependent Error Diffusion

• Train error diffusionweights and thresholdvalue for each inputgray level [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

Enhancements

Page 21: Error Diffusion Halftoning Methods for Image Display

21

Enhancements II: Controlling ArtifactsEnhancements II: Controlling Artifacts

• Sharpness control – Edge enhancement error diffusion [Eschbach & Knox, 1991]

– Linear frequency distortion removal [Kite, Evans & Bovik, 1999]

– Adaptive linear frequency distortion removal[Damera-Venkata & Evans, 2001]

• Reducing worms in highlights & shadows[Eschbach, 1993] [Shu, 1993] [Levien, 1993] [Eschbach, 1996] [Marcu, 1998]

• Reducing mid-tone artifacts– Filter weight perturbation [Ulichney, 1988]

– Threshold modulation with noise array [Knox, 1993]

– Deterministic bit flipping quant. [Damera-Venkata & Evans, 2001]

– Tone dependent modification [Li & Allebach, 2002]

x

DBF(x)

Enhancements

Page 22: Error Diffusion Halftoning Methods for Image Display

22

Example: Sharpness Control in Error DiffusionExample: Sharpness Control in Error Diffusion

• Adjust by threshold modulation [Eschbach & Knox, 1991]

– Scale image by gain L and add it to quantizer input

– Low complexity: one multiplication, one addition per pixel

• Flatten signal transfer function [Kite, Evans & Bovik, 1999]

+ _

_+

e(m)

b(m)

x(m)u(m)

)(mh

L

1 since ]0,1(1

11

ss

s

s

KLK

K

KL

Enhancements

Page 23: Error Diffusion Halftoning Methods for Image Display

23

ResultsResultsOriginal Floyd-Steinberg

Edge enhanced Unsharpened

Enhancements

Page 24: Error Diffusion Halftoning Methods for Image Display

24

Enhancements III: Clustered Dot Error DiffusionEnhancements III: Clustered Dot Error Diffusion

• Feedback output to quantizer input [Levien, 1993]

• Dot to dot error diffusion [Fan, 1993]

– Apply clustered dot screen on block and diffuse error– Reduces contouring

• Clustered minority pixel diffusion [Li & Allebach, 2000]

• Block error diffusion [Damera-Venkata & Evans, 2001]

• Clustered dot error diffusion using laser pulse width modulation [He & Bouman, 2002]

– Simultaneous optimization of dot density and dot size– Minimize distortion based on tone reproduction curve

Enhancements

Page 25: Error Diffusion Halftoning Methods for Image Display

25

ResultsResults

EnhancementsBlock error diffusion Green-noise

DBF quantizer Tone dependent

Page 26: Error Diffusion Halftoning Methods for Image Display

26

Color Monitor Display Example (Palettization)Color Monitor Display Example (Palettization)

• YUV color space– Luminance (Y) and chrominance (U,V) channels

– Widely used in video compression standards

– Contrast sensitivity functions available for Y, U, and V

• Display YUV on lower-resolution RGB monitor: use error diffusion on Y, U, V channels separably

Color Error Diffusion

+__

+

e(m)

b(m)x(m)

u(m)

)(mh

YUV to RGBConversion

RGB to YUVConversion

24-bitYUVvideo

12-bitRGBmonitor

h(m)

Page 27: Error Diffusion Halftoning Methods for Image Display

27

Non-Separable Color Halftoning for DisplayNon-Separable Color Halftoning for Display

• Input image has a vector of values at each pixel (e.g. vector of red, green, and blue components)Error filter has matrix-valued coefficientsAlgorithm for adapting

matrix coefficientsbased on mean-squarederror in RGB space[Akarun, Yardimci & Cetin, 1997]

• Optimization problemGiven a human visual system model, find

color error filter that minimizes average visible noise power subject to diffusion constraints [Damera-Venkata & Evans, 2001]

Linearize color vector error diffusion, and use linear vision model in which Euclidean distance has perceptual meaning

vectormatrix

kmekhmtk

+ _

_

+e(m)

b(m)x(m)u(m)

)(mh

t(m)

Color Error Diffusion

Page 28: Error Diffusion Halftoning Methods for Image Display

28

Matrix Gain Model for the QuantizerMatrix Gain Model for the Quantizer

• Replace scalar gain w/ matrix [Damera-Venkata & Evans, 2001]

– Noise uncorrelated with signal component of quantizer input

– Convolution becomes matrix–vector multiplication in frequency domain

12minarg

uubu

A

CCmuAmbK

Es

IK

n

zNzHIzB

n

zXIKzHIKzB1

s

Noisecomponentof output

Signalcomponentof output

u(m) quantizer inputb(m) quantizer output

Color Error Diffusion

z

z

HK

XK

s

s

11

)(

)()(1 zz NH

Grayscale results

Page 29: Error Diffusion Halftoning Methods for Image Display

29

Linear Color Vision ModelLinear Color Vision Model

• Undo gamma correction to map to sRGB

• Pattern-color separable model [Poirson & Wandell, 1993] – Forms the basis for Spatial CIELab [Zhang & Wandell, 1996]

– Pixel-based color transformation

B-W

R-G

B-YOpponentrepresentation

Spatialfiltering

E

Color Error Diffusion

Page 30: Error Diffusion Halftoning Methods for Image Display

30

Optimum vectorerror filter

SeparableFloyd-Steinberg

Color Error Diffusion

ExampleExample

Original

Page 31: Error Diffusion Halftoning Methods for Image Display

31

Evaluating Linear Vision ModelsEvaluating Linear Vision Models[Monga, Geisler & Evans, 2003][Monga, Geisler & Evans, 2003]

• Objective measure: improvement in noise shaping over separable Floyd-Steinberg

• Subjective testing based on paired comparison taskOnline at www.ece.utexas.edu/~vishal/cgi-bin/test.html

• In decreasing subjective (and objective) qualityLinearized CIELab > > Opponent > YUV YIQ

orig

inal

hal

fton

e A

hal

fton

e B

Color Error Diffusion

Page 32: Error Diffusion Halftoning Methods for Image Display

32

Image Halftoning Toolbox 1.2Image Halftoning Toolbox 1.2

• Grayscale andcolor methodsScreening Classical diffusionEdge enhanced diff.Green noise diffusion

Block diffusion

• Figures of meritPeak SNRWeighted SNRLinear distortion measure Universal quality index

Conclusion

http://www.ece.utexas.edu/~bevans/projects/halftoning/toolbox

Figures of Merit

Page 33: Error Diffusion Halftoning Methods for Image Display

Backup SlidesBackup Slides

Page 34: Error Diffusion Halftoning Methods for Image Display

34

Uniform Quantization Using ThresholdingUniform Quantization Using Thresholding

• Round to nearest integer (midtread)Quantize amplitude to levels {-2, -1, 0, 1}

Step size for linear region of operation

Represent levels by {00, 01, 10, 11} or{10, 11, 00, 01} …

Latter is two's complement representation

• Rounding with offset (midrise)Quantize to levels {-3/2, -1/2, 1/2, 3/2}

Represent levels by {11, 10, 00, 01} …

Step size

13

3

1223

23

2

13

3

12

)2(12

x

Q[x]

1-2

-2

1

x

Q[x]

1-2 -1

1

2

Introduction

Page 35: Error Diffusion Halftoning Methods for Image Display

35

current pixel

Floyd-Steinbergweights3/16

7/16

5/16 1/16

u(m)

+ _

_+

e(m)

b(m)x(m)

shape error )(mh

Error DiffusionError Diffusion

Introduction

Original Halftone

Page 36: Error Diffusion Halftoning Methods for Image Display

36

Digital Halftoning MethodsDigital Halftoning Methods

Clustered Dot ScreeningAM Halftoning

Blue-noise MaskFM Halftoning 1993

Dispersed Dot ScreeningFM Halftoning

Green-noise HalftoningAM-FM Halftoning 1992

Error DiffusionFM Halftoning 1976

Direct Binary SearchFM Halftoning 1992

Introduction

Page 37: Error Diffusion Halftoning Methods for Image Display

37

Compensation for Frequency Distortion Compensation for Frequency Distortion

• Flatten signal transfer function [Kite, Evans, Bovik, 2000]

• Pre-filtering equivalent to threshold modulation

1 since ]0,1( 1

ss

s KLK

KL

filter FIR ))(1(1)( zHLzG

+ _

_+

e(m)

b(m)

x(m) u(m)

)(mh

g(m)

Analysis and Modeling

Page 38: Error Diffusion Halftoning Methods for Image Display

38

Visual Quality Measures Visual Quality Measures [Kite, Evans & Bovik, 2000][Kite, Evans & Bovik, 2000]

• Sharpening: proportional to Ks

Value of Ks: Floyd Steinberg < Stucki < Jarvis

• Impact of noise on human visual system Signal-to-noise (SNR) measures appropriate when noise is

additive and signal independent

Create unsharpened halftone y[m1,m2] with flat signal transfer function using threshold modulation

Weight signal/noise by contrast sensitivity function C[k1,k2]

Floyd-Steinberg > Stucki > Jarvis at all viewing distances

21

21

,

2

212121

,

2

2121

10],[ ],[],[

],[ ],[

log10)dB( WSNR

kk

kk

kkCkkYkkX

kkCkkX

Analysis and Modeling

Page 39: Error Diffusion Halftoning Methods for Image Display

39

Example #1: Green Noise Error DiffusionExample #1: Green Noise Error Diffusion

+ _

_+

e(m)

b(m)x(m)u(m)

)(mh

f

G

• Output fed back to quantizer input [Levien, 1993]

– Gain G controls coarseness of dot clusters

– Hysteresis filter f affects dot cluster shape

Enhancements

Page 40: Error Diffusion Halftoning Methods for Image Display

40

+ _

_+

e(m)

b(m)x(m)

difference threshold

compute error

shape error

u(m)

)(mh

t(m)

D

3/16

7/16

5/16 1/16

γ

Example #2: Block Error DiffusionExample #2: Block Error Diffusion

• Process a pixel-block using a multifilter[Damera-Venkata & Evans, 2001]

– FM nature controlled by scalar filter prototype

– Diffusion matrix decides distribution of error in block

– In-block diffusions constant for all blocks to preserve isotropy

Enhancements

Page 41: Error Diffusion Halftoning Methods for Image Display

41

Block FM Halftoning Error Filter DesignBlock FM Halftoning Error Filter Design• FM nature of algorithm

controlled by scalar filter prototype

• Diffusion matrix decides distribution of error within a block

• In-block diffusions are constant for all blocks to preserve isotropy

D

3/16

7/16

5/16 1/16

γ

D

diffusion matrix

1D

2

1

N N is the block size

Enhancements

Page 42: Error Diffusion Halftoning Methods for Image Display

42

Vector Quantization but Separable FilteringVector Quantization but Separable Filtering

• Minimum Brightness Variation Criterion (MBVC)[Shaked, Arad, Fitzhugh & Sobel, 1996]

– Limit number of output colors to reduce luminance variation

– Efficient tree-based quantization to render best color among allowable colors

– Diffuse errors separably

Color Error Diffusion

b(m)+ _

_+

e(m)

x(m)u(m)

)(mh

MBVC

VQ

Allowable colors

Page 43: Error Diffusion Halftoning Methods for Image Display

43

ResultsResults

Color Error Diffusion

Original MBVC halftoneSeparableFloyd-Steinberg

Page 44: Error Diffusion Halftoning Methods for Image Display

44

Linear Color Vision ModelLinear Color Vision Model

• Undo gamma correction on RGB image• Color separation [Damera-Venkata & Evans, 2001]

– Measure power spectral distribution of RGB phosphor excitations

– Measure absorption rates of long, medium, short (LMS) cones

– Device dependent transformation C from RGB to LMS space

– Transform LMS to opponent representation using O

– Color separation may be expressed as T = OC

• Spatial filtering included using matrix filter• Linear color vision model

Tmdmv

)( where )(md

is a diagonal matrix

)(md

Color Error Diffusion

Page 45: Error Diffusion Halftoning Methods for Image Display

45

Designing the Error FilterDesigning the Error Filter

• Eliminate linear distortion filtering before error diffusion

• Optimize error filter h(m) for noise shaping

Subject to diffusion constraints

where

22min mnmhImvmb

EE n

11mhm

mv

linear model of human visual system

* matrix-valued convolution

Color Error Diffusion

Page 46: Error Diffusion Halftoning Methods for Image Display

46

Generalized Optimum SolutionGeneralized Optimum Solution

• Differentiate scalar objective function for visual noise shaping w/r to matrix-valued coefficients

• Write norm as trace and differentiate trace usingidentities from linear algebra

i0ih

mb

d

Ed n

2

xxx Tr

A

X

XA

d

Trd

BA

X

BXA

d

Trd

BXABXA

X

BXAX

d

Trd

ABBA

TrTr

Color Error Diffusion

Page 47: Error Diffusion Halftoning Methods for Image Display

47

Generalized Optimum Solution (cont.)Generalized Optimum Solution (cont.)

• Differentiating and using linearity of expectation operator give a generalization of the Yule-Walker equations

where

• Assuming white noise injection

)()()()()()( qpsirphqvsvkirkv nnp q s

ank

)()()( mnmvma

kkmnmnkrnn )( )()( E

kvkmnmakran )( )()( E

• Solve using gradient descent with projection onto constraint set

Color Error Diffusion

Page 48: Error Diffusion Halftoning Methods for Image Display

48

Implementation of Vector Color Error DiffusionImplementation of Vector Color Error Diffusion

)()()(

)()()(

)()()(

zzz

zzz

zzz

zH

bbbgbr

gbgggr

rbrgrr

HHH

HHH

HHH

Hgr

Hgg

Hgb

+

b

g

r

g

Color Error Diffusion

Page 49: Error Diffusion Halftoning Methods for Image Display

49

C1

C2

C3

Representation inarbitrary color space

Spatialfiltering

E

Generalized Linear Color Vision ModelGeneralized Linear Color Vision Model

• Separate image into channels/visual pathways– Pixel based linear transformation of RGB into color space

– Spatial filtering based on HVS characteristics & color space

– Best color space/HVS model for vector error diffusion? [Monga, Geisler & Evans 2002]

Color Error Diffusion

Page 50: Error Diffusion Halftoning Methods for Image Display

50

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

Linear CIELab Space TransformationLinear CIELab Space Transformation[Flohr, Kolpatzik, R.Balasubramanian, Carrara, Bouman, Allebach, 1993]

• Linearized CIELab using HVS Model byYy = 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 ) ]

where

f(x) = 7.787x + 16/116 0<= x <= 0.008856

f(x) = (x)1/3 0.008856 <= x <= 1

• Linearize the CIELab Color Space about D65 white pointDecouples incremental changes in Yy, Cx, Cz at white point on (L,a,b)

values

T is sRGB CIEXYZ Linearized CIELab

Color Error Diffusion

Page 51: Error Diffusion Halftoning Methods for Image Display

51

Plane Weights wi Spreads σi

Luminance 0.921 0.0283

  0.105 0.133

  -0.108 4.336

Red-green 0.531 0.0392

  0.330 0.494

Blue-yellow 0.488 0.0536

  0.371 0.386

Spatial FilteringSpatial Filtering

• Opponent [Wandell, Zhang 1997]

– Data in each plane filtered by 2-D separable spatial kernels

– Parameters for the three color planes are

Color Error Diffusion

Page 52: Error Diffusion Halftoning Methods for Image Display

52

Spatial FilteringSpatial Filtering

• Spatial Filters for Linearized CIELab and YUV,YIQ based on:

Luminance frequency Response [ Nasanen and Sullivan – 1984]

]~)(exp[)()~()( pLLKpWyY

dLcL

)ln(

1)(

L – average luminance of display, the radial spatial frequency andp~

K(L) = aLb

2

1)4cos(

2

1)(

wws

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

)arctan(u

v

)(~

s

pp

w – symmetry parameter = 0.7 and

)(s effectively reduces contrast sensitivity at odd multiples of 45 degrees which is equivalent to dumping the luminance error across the diagonals where the eye is least sensitive.

Color Error Diffusion

Page 53: Error Diffusion Halftoning Methods for Image Display

53

Spatial FilteringSpatial Filtering

Chrominance Frequency Response [Kolpatzik and Bouman – 1992]

]exp[)(),( pApWzx CC

Using this chrominance response as opposed to same for both luminance and chrominance allows more low frequency chromatic error not perceived by the human viewer.

• The problem hence is of designing 2D-FIR filters which most closely match the desired Luminance and Chrominance frequency responses.

• In addition we need zero phase as well.

The filters ( 5 x 5 and 15 x 15 were designed using the frequency sampling approach and were real and circularly symmetric).

Filter coefficients at: http://www.ece.utexas.edu/~vishal/halftoning.html

• Matrix valued Vector Error Filters for each of the Color Spaces at

http://www.ece.utexas.edu/~vishal/mat_filter.html

Color Error Diffusion

Page 54: Error Diffusion Halftoning Methods for Image Display

54

Color SpacesColor Spaces

• Desired characteristics– Independent of display device– Score well in perceptual uniformity [Poynton color FAQ

http://comuphase.cmetric.com]

– Approximately pattern color separable [Wandell et al., 1993]

• Candidate linear color spaces– Opponent color space [Poirson and Wandell, 1993]

– YIQ: NTSC video

– YUV: PAL video– Linearized CIELab [Flohr, Bouman, Kolpatzik, Balasubramanian,

Carrara, Allebach, 1993]

Eye more sensitive to luminance; reduce chrominance bandwidth

Color Error Diffusion

Page 55: Error Diffusion Halftoning Methods for Image Display

55

Monitor CalibrationMonitor Calibration

• How to calibrate monitor?sRGB standard default RGB space by HP and Microsoft

Transformation based on an sRGB monitor (which is linear)

• Include sRGB monitor transformationT: sRGB CIEXYZ Opponent Representation

[Wandell & Zhang, 1996]

Transformations sRGB YUV, YIQ from S-CIELab Code at http://white.stanford.edu/~brian/scielab/scielab1-1-1/

• Including sRGB monitor into model enables Web-based subjective testinghttp://www.ece.utexas.edu/~vishal/cgi-bin/test.html

Color Error Diffusion

Page 56: Error Diffusion Halftoning Methods for Image Display

56

Spatial FilteringSpatial Filtering

• Opponent [Wandell, Zhang 1997]

Data in each plane filtered by 2-D separable spatial kernels

• Linearized CIELab, YUV, and YIQLuminance frequency response [Näsänen and Sullivan, 1984]

L average luminance of display 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

)()( )()( L

Y eLKWy

),( )( AeW

zx CC

Color Error Diffusion

Page 57: Error Diffusion Halftoning Methods for Image Display

57

Subjective TestingSubjective Testing

• Binomial parameter estimation model – Halftone generated by particular HVS model considered

better if picked over another 60% or more of the time

– Need 960 paired comparison of each model to determine results within tolerance of 0.03 with 95% confidence

– Four models would correspond to 6 comparison pairs, total 6 x 960 = 5760 comparisons needed

– Observation data collected from over 60 subjects each of whom judged 96 comparisons

• In decreasing subjective (and objective) qualityLinearized CIELab > > Opponent > YUV YIQ

Color Error Diffusion

Page 58: Error Diffusion Halftoning Methods for Image Display

58

Selected Open ProblemsSelected Open Problems

• Analysis and modeling– Find less restrictive sufficient conditions for stability of

color vector error filters

– Find link between spectral characteristics of the halftone pattern and linear gain model at a given graylevel

– Model statistical properties of quantization noise

• Enhancements– Find vector error filters and threshold modulation for

optimal tone-dependent vector color error diffusion

– Incorporate printer models into optimal framework for vector color error filter design

Conclusion

Page 59: Error Diffusion Halftoning Methods for Image Display

59

Joint Bi-Level Experts GroupJoint Bi-Level Experts Group

• JBIG2 standard(Dec. 1999)– Binary document printing,

faxing, scanning, storage

– Lossy and lossless coding

– Models for text, halftone, and generic regions

• Lossy halftone compression– Preserve local average

gray level not halftone

– Periodic descreening– High compression of

ordered dither halftones

ConstructPattern

Dictionary

ComputeIndices

intoDictionary

Lossless EncoderHalftone

Count black dots in eachM x M block of inputRange of indices: 0... M2+1

Generate (M2+1) patterns ofsize M x M from a clustered

dot threshold mask

JBIG2 bitstream

Compression of Error Diffused Halftones

Page 60: Error Diffusion Halftoning Methods for Image Display

60

JBIG2 Halftone Compression ModelJBIG2 Halftone Compression Model

• JBIG2 assumes halftones produced by small periodic screen

• Stochastic halftones are aperiodic

Existing JBIG-26.1 : 1

Proposed Method 6.6 : 1

Page 61: Error Diffusion Halftoning Methods for Image Display

61

Lossy Compression of Error Diffused HalftonesLossy Compression of Error Diffused Halftones

• Proposed method [Valliappan, Evans, Tompkins, Kossentini, 1999]

– Reduce noise and artifacts

– Achieve higher compression ratios

– Low implementation complexity

512 x 512 Floyd-Steinberg halftone

High QualityRatio 6.6 : 1WSNR 18.7 dBLDM 0.116

High CompressionRatio 9.9 : 1WSNR 14.0 dBLDM 0.158

Compression of Error Diffused Halftones

Linear distortionmeasure (LDM)

Page 62: Error Diffusion Halftoning Methods for Image Display

62

Lossy Compression of Error Diffused HalftonesLossy Compression of Error Diffused Halftones

Prefilter Decimator QuantizerLossless Encoder

Symbol Dictionary

• N patterns • size M x M • may be angled• clustered dot

• modified multilevel Floyd Steinberg error diffusion• L sharpening factor

• M x M lowpass averaging filter• downsample by M x M

• 3 x 3 lowpass• zeros at Nyquist• reduces noise • 2n coefficients

Halftone

JBIG2 bit

stream

17 16 M2 + 1gray

levelsN2

• Fast conversion of error diffused halftones to screened halftones with rate-distortion tradeoffs [Valliappan, Evans, Tompkins, Kossentini, 1999]

Free Parameters

L sharpening

M downsamping factor

N grayscale resolution

Compression of Error Diffused Halftones

Page 63: Error Diffusion Halftoning Methods for Image Display

63

Rate-Distortion TradeoffsRate-Distortion Tradeoffs

Linear Distortion Measurefor downsampling factor M { 2, 3, 4, 5, 6, 7, 8}

Weighted SNRfor downsampling factor M { 2, 3, 4, 5, 6, 7, 8}

(linear distortion removed)

Compression of Error Diffused Halftones


Recommended