https://onlinebme.com/separable-convolution/