Walsh functions and lossy compression.

Walsh functions are best introduced via Hadamard matrices.

Hadamard matrices :

walsh_1.gif

walsh_2.gif

walsh_3.gif

walsh_4.gif

walsh_5.gif

walsh_6.gif

walsh_7.gif

Walsh-1D functions :

Walsh functions are given by the rows (equivalently the columns) of the Hadamard matrices.

walsh_8.gif

Two examples : s = 3 (8 functions) and s = 4 (16 functions) :

walsh_9.gif

walsh_10.gif

walsh_11.gif

walsh_12.gif

Walsh functions are orthonormed with respect to the following scalar product :

walsh_13.gif

walsh_14.gif

walsh_15.gif

An arbitrary binary 1D-function (say {1,1,1,1,1,1,-1,-1} if s = 3)  is expandable in the basis of 1D-Walsh functions :

walsh_16.gif

walsh_17.gif

Walsh-2D functions :

walsh_18.gif

walsh_19.gif

walsh_20.gif

The following character, R, is pixellized in a 64x64 grid :

walsh_21.gif

walsh_22.gif

walsh_23.gif

walsh_24.gif

walsh_25.gif

walsh_26.gif

The walsh coefficients for the letter R :

walsh_27.gif

walsh_28.gif

The walsh coefficients for the letter R, sorted in decreasing order (absolute value) :

walsh_29.gif

walsh_30.gif

An arbitrary binary 2D-function (say Rpixels)  is expandable without loss in the basis of 2D-Walsh functions :

walsh_31.gif

walsh_32.gif

walsh_33.gif

walsh_34.gif

Light truncation :

walsh_35.gif

walsh_36.gif

walsh_37.gif

walsh_38.gif

Light truncation with greylevels erased :

walsh_39.gif

walsh_40.gif

walsh_41.gif

walsh_42.gif

Medium truncation :

walsh_43.gif

walsh_44.gif

walsh_45.gif

walsh_46.gif

Medium truncation with greylevels erased :

walsh_47.gif

walsh_48.gif

walsh_49.gif

walsh_50.gif

Strong truncation :

walsh_51.gif

walsh_52.gif

walsh_53.gif

walsh_54.gif

Strong truncation with greylevels erased :

walsh_55.gif

walsh_56.gif

walsh_57.gif

walsh_58.gif

Spikey Created with Wolfram Mathematica 8.0