# 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.