Optimal Vector Color Error Diffusion Results


Optimal error filter performance on the "Pasta" and "Fruits" images in the paper. The filter coefficients used here are designed for a standard sRGB monitor (see www.srgb.com) and are different from the monitor settings used in the paper. Standard gamma uncorrection as specified by sRGB standard is used on the original image prior to halftoning. To observe the color noise reduction, download the halftones and flip back and forth between them. The Matlab code and instructions to generate optimal error filters with guarunteed stability (The optimum method suggested in the paper may be trivially modified by allowing solutions with positive coefficients whose sum is constrained to be unity to generate stable optimum vector error filters) may be downloaded here

Pasta Image

Original Pasta Image
Floyd Steinberg Halftone
Optimal Vector Color Error Diffusion

Fruits Image

Original Fruits Image
Floyd Steinberg Halftone
Optimal Vector Color Error Diffusion

Images with optimal filter and linear frequency distortion cancelled

Pasta Image with distortion cancelled
Fruits Image with distortion cancelled

These images appear similar to those generated with the optimal filter because the effect of the optimum error filter is to whiten the error image spectrum. However a computation of correlation coefficient reveals an order of magnitude difference. Visually the distortion cancellation removes sharpening (to the extent it is present in the halftone). This is visible in the Fruits image and not obvious in the Pasta image.


The format for the filter coefficients is [F(0,1)|F(1,1)|F(1,0)|F(1,-1)] where F(0,0) is the center pixel.