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 (

Which can be simplified to:

To apply the separable convolution, first apply