Separable filter

Typically a 2-dimensional convolution operation is separated into two 1-dimensional filters.

Another two-dimensional smoothing filter with stronger weight in the middle: 3.

In the examples, there is a cost of 3 multiply–accumulate operations for each vector which gives six total (horizontal and vertical).

This is compared to the nine operations for the full 3x3 matrix.

Another notable example of a separable filter is the Gaussian blur whose performance can be greatly improved the bigger the convolution window becomes.