44
LUT Method For Inverse Halftone 資資資 資資資 資資資

LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Embed Size (px)

Citation preview

Page 1: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Method For Inverse Halftone

資工四 林丞蔚 林耿賢

Page 2: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Outline

Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Page 3: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Introduction

halftoning Inverse halftoning

Page 4: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Introduction (cont.)

Traditional inverse halftoning method The contone value of a pixel is a linear

combination of the surrounding halftone pixels

LUT inverse halftoning method

Trainingdata

Selecttemplate

Design LUTInversehalftone

Page 5: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning

Ordered dithering Error diffusion Dot diffusion

Page 6: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Ordered dithering Pairwise comparison between gray level image

and repeated dither matrix

Error diffusion Separate the quantization

error over neighboring pixels

E16

7

E16

3 E

16

5 E

16

1

Floyd-Steinberg

Page 7: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Dot diffusion Process the pixel according to the table

Page 8: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Dot diffusion Just like error diffusion But separate error to only 3 * 3 neighbors

Orthogonal: origin + 2 * e (i, j) / w Diagonal: origin + e (i, j) / w

1 2 1

2 O 2

1 2 1

Page 9: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Dot diffusion example

Page 10: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Optimized dot diffusion Baron: a pixel has only low-class neighbor Near baron: a pixel has one high-class neighbor Traditional dot diffusion try to minimum the

number of baron and near-baron.

Page 11: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Optimized dot diffusion But the result is still not good enough. Take human visual system into account. Target function:

The average number of dark pixel should be equal to the original gray level.

The dark pixel are spatially distributed with the same average frequency.

Page 12: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Pairwise exchange algorithm Randomly order the class matrix List all possible exchange If exchange reduce the value of target function

exchange it and restart Repeat above steps a fixed time

Page 13: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Optimized dot diffusion Optimized class matrix

Page 14: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Pros and Cons Ordered dithering

Advantage:

Parallel method, only comparisons Disadvantage:

Resulting halftones suffer from periodicity

Page 15: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Pros and Cons Error diffusion

Advantage:

Do not suffer from periodic patterns Disadvantage:

Waste Time

Page 16: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Methods for halftoning (cont.)

Pros and Cons Dot diffusion

Advantage:

Parallel method Disadvantage:

Periodic structures in the halftones

Page 17: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone

A novel method for inverse halftone

LUT method is extremely fast and do not need any computation

LUT is obtained from histogram gather from a few sample images

Page 18: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

LUT method can be applied to any halftoning method

Image quality achieved is comparable to best methods

Page 19: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Training set Use some images with its halftoning and

original image for the base to build the LUT

A good training set should have enough images representing both smooth and nonsmooth images

Page 20: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Algorithm Predict the continuous tone value of a pixel from its

surrounding neighborhoods

(“19pels” TEMPLATE)(“Rect” TEMPLATE)

Page 21: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Take N pixels (including the pixel being estimated) in the neighborhood P0,P1,……,PN-1

There are 2N different pattern

LUT Inverse Halftone (cont.)

Page 22: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Target function T should return a value for each pattern:

: the number of occurrences of pattern

Corresponding continuous tone values:

Page 23: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

LUT value for the pattern will be the weight mean of the corresponding continuous tone values:

Page 24: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Problems of nonexistent pattern Some rows of LUT may not be used

Memory waste

Some patterns may not exists in the training set Has no corresponding continuous tone value

Page 25: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Solutions of nonexistent pattern problem 1. Low pass filtering: the missing pattern is obtained

as a linear combination of the binary pixels Pi

Page 26: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Solutions of nonexistent pattern problem 2. Hamming distance:

Examples:The Hamming distance between 1011101 and 1001001 is 2.

The Hamming distance between 2143896 and 2233796 is 3.

The Hamming distance between "toned" and "roses" is 3.

Page 27: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Solutions of nonexistent pattern problem 3. Best linear estimator:

Page 28: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Solutions of nonexistent pattern problem 3. Best linear estimator:

For each nonexistent pattern (p0,p1……pN-1), we obtain the continuous tone value, T(p0,……,pN-1), as follows: Define y = [p0,p1……,pN-1]x. Then,

Page 29: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

The PSNR values of these three solutions: Low pass filtering: 29.79dB Hamming distance: 28.91dB Best linear estimator: 29.92 dB

Page 30: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Template selection Assume we have P images, both continuous tone

images Dl(n1,n2) and halftone images Hl(n1,n2) for

l = 1,2,3,……,P.

Define the mean square error between two image sets:

Page 31: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.) Template selection algorithm:

Page 32: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

The PSNR values of these templates:

(“19pels” TEMPLATE)(“Rect” TEMPLATE)(“x opt” TEMPLATE)

Page 33: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

The PSNR values of these templates:

16 pixel 19 pixel

template 16pel Rect 16opt 19pel 19opt

Avg. PSNR

26.43 26.50 26.43 26.61 26.76

Page 34: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

The PSNR values of LUT and tradition IH:

Image LUT with Rect fastiht2

Lena 30.41dB 31.37dB

mandrill 24.42dB 22.59dB

Halftone by error diffusion

Page 35: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Result comparison (high frequency):

(LUT inverse halftone)(fast inverse halftone)

Page 36: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

LUT Inverse Halftone (cont.)

Result comparison (low frequency):

(LUT inverse halftone)(fast inverse halftone)

Page 37: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Tree Structured LUT

Reduce storage requirements of LUT Can be thought as ‘comparison’ of LUT

Page 38: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Tree Structured LUT

Roots contain their patterns (i ,j) stand for the template position of the

additional pixel. Halftone value = 0(1), go to left (right).

Page 39: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Tree Structured LUT

1. Denote the size of template a. 2. Define 2a binary tree corresponding to

different patterns.

2a

Contone value.If it’s root, included its pattern

Page 40: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Tree Structured LUT

3. for each leaf t, find a pixel p that MSE is minimum.

4. split leaf t, and add p to the tree

2a

(-3, 0)

Page 41: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Tree Structured LUT

Compute the new contone value: Average the actual value form current tree.

2a

(-3, 0)

(2, -1)

Page 42: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Tree Structured LUT

Improve method for tree structured LUT: Directly build from LUT Built only one binary tree Start from pixel 0 as the root …

(“x opt” TEMPLATE)

(pixel 0)

(pixel 1)

(pixel 2)

………

Page 43: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Conclusion

LUT based method can be improved by Better halftone method The way predict the contone value in LUT More efficiency tree structure

Tree structured LUT inverse halftone could be applied to color halftone of RGB

Page 44: LUT Method For Inverse Halftone 資工四 林丞蔚 林耿賢. Outline Introduction Methods for Halftoning LUT Inverse Halftone Tree Structured LUT Conclusion

Conclusion (cont.)

LUT inverse halftone is extremely fast

Image quality achieved the best methods known for inverse haltoning

Requires much less storage than LUT halftoning