The half pixel offset is also a Gaussian convolution (the simplest) with filter [1/2, 1/2]. It's centered at the corners between pixels, so it's not obvious to describe it as such.
You can calculate Gaussian filters by scaling a particular row k of Pascal's triangle to sum to 1. Or rather, a square pyramid for the 2D case.
You can calculate any particular Gaussian (i.e. binomial) convolution by iterating this "half pixel offset" operation (averaging the adjacent pixels) k times.