Patent ID: 7958177

Claim:
A parallel filtering method, which is implemented to an interpolation filter embedded in an electronic video apparatus on executable memory, comprising the steps: performing on a first circuit the steps: separating coefficients of the interpolation filter into two sets comprising positive and negative coefficients respectively for parallelly filtering a plurality of input data pixels packed into data words inputted to the interpolation filter concurrently; multiplying the data words with absolute values of the positive and negative coefficients respectively; accumulating all the data words multiplied by the absolute values of the positive coefficients to produce a first intermediate data word, and adding a first constant data word denoting the sum of rounding offset and 0x80008000 to the first intermediate data word to obtain a second intermediate data word; accumulating all the data words multiplied by the absolute values of the negative coefficients to obtain a third intermediate data word; subtracting the third intermediate data word from the second intermediate data word to obtain a first result data word; and performing on a second circuit the steps: performing a first AND logical operation between the first result data word and a second constant data word to obtain a fourth intermediate data word; determining whether or not the fourth intermediate data word is equal to 0x80008000; when it is determined that the fourth intermediate data word does not equal 0x80008000, performing a second AND logical operation between the first result data word and 0x80008000 to obtain a fifth intermediate data word; subtracting the fifth intermediate data word right shifting by a first predetermined bit position from the fifth intermediate data word to obtain a first mask data word; performing a third AND logical operation between the first mask data word and the first result data word to obtain a second result data word; performing a fourth AND logical operation between the second result data word and a third constant data word to obtain a sixth intermediate data word; subtracting the sixth intermediate data word right shifting by a second predetermined bit position from the sixth intermediate data word to obtain a second mask data word; and performing an OR logical operation between the second mask data word and the second result data word and then right shifting the result thereof by a third predetermined bit position to obtain a final output data word outputted through the electronic video apparatus.