You may notice that the kernel is a separable kernel.
So we can analyze it in 1D:
$$ \boldsymbol{K} = \frac{1}{4} \begin{bmatrix} 1 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 1 \end{bmatrix} = \boldsymbol{k} \boldsymbol{k}^{T}, \; \boldsymbol{k} = \frac{1}{2} \begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix} $$
Now, let's see what the kernel vK = 0.5 * [1, 2, 1] does in 1D.
Assume we have the signal vX = [1, 7, 3].
Then, let's follow the steps:
- Upsample the Data with Zeros
We add zero between each 2 samples: vU = [1, 0, 7, 0, 3].
- Convolve the Upsampled Data with the Kernel
Since the kernel is symmetric, we can just see whet it does.
For the 0 between 1 and 7 it basically yields: 0.5 * 1 + 1 * 0 + 0.5 * 7 = 4. The is basically linear interpolation between 1 and 7.
When it works on the 7 it multiplies it by 1 and each size is zero, hence have no meaning, so nothing happens. For the zero between 7 and 3 it will again do a linear interpolation (The average as the sampling is uniform) and yield 5 so the result: conv(vK, vX) = [1, 4, 7, 5, 3].
So indeed this is the kernel which applies a liner interpolation.