Patent ID: 8503537

Claim:
A method for performing a de-blocking filter operation on boundary neighboring pixels between macroblocks in a video coding or decoding process executed in a 16-bytes SIMD register processor, comprising: loading a first set of data, from an electronic memory connected to said processor, constituting an entirety of one luminance macroblock or an entirety of two chrominance macroblocks from a RAM to a group of 16 16-bytes horizontal SIMD register variables by inserting each row of the macroblock(s) in the respective register variables; executing a transpose instruction on all of said first set of data in said group of 16 16-bytes horizontal SIMD register variables, creating a second set of data which is stored in said group of 16 16-bytes horizontal SIMD register variables; performing a horizontal de-blocking filter operation, to create a third set of data, on all of said second set of data in said group of 16 16-bytes horizontal SIMD register variables and a corresponding set of boundary pixel data of a first neighboring macroblock; executing a transpose instruction on all of said third set of data in said group of 16 16-bytes horizontal SIMD register variables, creating a fourth set of data which is stored in said group of 16 16-bytes horizontal SIMD register variables; performing a vertical de-blocking filter operation, to create a fifth set of data, on all of said fourth set of data in said group of 16 16-bytes horizontal SIMD register variables and a corresponding set of boundary pixels data of a second neighboring macroblock; and storing said fifth set of data to said electronic memory.