Block Phase Shifting Methods

Methods: Block Phase shifting: MPEG's motion vectors translate image blocks in from frame to a different location in another. Block phase shifting is alternate way to do this. We use the basic principal, a shift in the frequency domain is equal to a shift in the spatial domain.

In order to implement this, we divide up the image into blocks, takign the same blocks that MPEG works with so that the same motion vectors apply. Once we have the blocks, we take the DTFT and convert our signal in terms of its frequency components. we apply a phase shift to each block equivilent to the corresponding motion vector given for that block by the mpeg_stat utility softward from Berkley. Once phase shifted we take the IDTFT of the block and convert back to the time domain, where we put together our picture.

Since the spatial domain is 2D we can "decode" the change between frames by taking a 2D DTFT (or 2D FFT to make use of the computational efficiency). We then implement the phase shift by first horizontally shifting the blocks by the relevant shifts and then vertically shifting the blocks. We then transform back using the 2D IDTFT. This requires us to use two seperate vectors, one containing the motion vectors in the x direction and the other in the y direction.

In order to implement this, we could apply the DTFT, the motion vectors and the IDTFT to each individual block, but this simply results in a circular shift of phase within the block for every transformation. Instead what we have actaully implemented is taking a larger block around the desired block and processing the corresponding signal. Once we have phase shifted it and returned to the time domain, we chop off the excess signal around the block to obtain the signal only within our orignal block.


Overview Methods Results
Conclusions References Members