The Hadamard transform is well known in the information theory and signal processing communities and can be viewed in some sense as a discrete step version of the Discrete Fourier Transform.
There does also exist a kind of a recursive analogue to the FFT factorization of the Fourier transform >
$$H_{m+1} = \begin{bmatrix}H_m & H_m\\ H_m & -H_m\end{bmatrix},H_1 = 1$$
In the original form I suppose this transform is defined for functions on the integers $f: \mathbb Z \to \mathbb Z$ or the reals $f: \mathbb R \to \mathbb R$
As the coefficients in this transform matrix are +1 and -1 exclusively , my intuition tells me that it should be possible to make another version for functions $f: \mathbb Z^2 \to \mathbb Z^2$ where we interpret digital bits as the elements in $\mathbb Z^2$
Own attempts
I thought I could threshold the ordinary Hadamard transform and use the logical thresholded value as the out-bit.
In other words if our vector of bits is v, we calculate (over Z): $Hv$, then we threshold the elements in the vector. If positive we set bit 1, if negative we set bit 0. This makes sense for all the transform coefficients scalar products with functions having mean 0. But how to handle the all-sum (a.k.a. DC component / the constant function) ?
For the 8 point Hadamard transform (8 bit numbers), I can manage to get correct inverse-transform in half of the cases (128) with my approach, but there seems to be some thing wrong in how I handle the DC component.