In the general case, the two-dimensional convolution operation
requires (width * height) multiplications for each output pixel.
Separable filters are a special case of general convolution in which
the filter
![]()
can be expressed in terms of two vectors
![]()
such that for each
![]()
If the filter is separable, the convolution operation may be performed
using only (width + height) multiplications for each output pixel.
Equation 9 becomes:

To apply the separable convolution, we first apply
as though
it were a width by 1 filter. We then apply
as though it
were a 1 by height filter.