Motion estimation with fast search block matching
View Patent ↗A video encoder and corresponding method are provided for encoding video signal data for an image block and a particular reference picture index to predict the image block, where the encoder includes a fast search block motion estimator for providing motion vectors corresponding to the at least one particular reference picture, the motion estimator comprising a fast search block matching portion for performing fast search block matching while excluding non-optimal search points in accordance with a comparison of a normalization of the image block pixels against a normalization of the reference picture pixels, the fast search block matching portion having an output responsive to the at least one particular reference picture; and the corresponding method includes receiving a substantially uncompressed image block, block matching the image block in correspondence with at least one particular reference picture while excluding non-optimal search points in accordance with a comparison of a normalization of the image block pixels against a normalization of the reference picture pixels, computing motion vectors corresponding to a difference between the image block and the at least one particular reference picture, and motion compensating the at least one particular reference picture in correspondence with the motion vectors.
1. A method for encoding video signal data for an image block, the method comprising:
receiving a substantially uncompressed image block;
block matching the image block in correspondence with at least one particular reference picture while excluding non-optimal search points in accordance with a comparison of a normalization of the image block pixels against a normalization of the reference picture pixels;
computing motion vectors corresponding to a difference between the image block and the at least one particular reference picture; and
motion compensating the at least one particular reference picture in correspondence with the motion vectors.
2. A method as defined in claim 1 wherein computing motion vectors comprises:
testing within a search region for displacements within a pre-determined range of offsets relative to the image block while excluding non-optimal search points in accordance with a comparison of a normalization of the image block pixels against a normalization of the reference picture pixels;
calculating at least one of a sum of the absolute difference, a sum of the square difference, and a mean squared error of each pixel in the image block with a motion compensated reference picture; and
selecting the offset with the lowest calculated sum of the absolute difference, sum of the square difference, or mean squared error as the motion vector.
3. A method as defined in claim 1 wherein block matching comprises:
storing a normalization of the current picture; and
reusing the stored normalization when the current picture is used as a reference picture for coding another picture.
4. A method as defined in claim 1 wherein block matching comprises:
storing a normalization of the smallest block size; and
reusing the stored normalization for larger block sizes.
5. A method for processing video signal data for an image block, the method comprising encoding as defined in claim 1 and decoding, the decoding comprising:
receiving at least one reference picture index with the data for the image block, each corresponding to a particular reference picture;
retrieving a reference picture corresponding to each of the received at least one reference picture index; and
motion compensating the retrieved reference picture to form a motion compensated reference picture.
6. A method as defined in claim 5 , further comprising adding the motion compensated reference picture to the data for the image block to predict the image block.
7. A method as defined in claim 6 , further comprising storing the predicted image block as a reference picture for future retrieval.
8. A method as defined in claim 5 wherein the video signal data is streaming video signal data comprising block transform coefficients.
9. A video CODEC comprising a video encoder as defined in claim 1 and a video decoder for decoding video signal data for an image block and at least one particular reference picture index to predict the image block, the decoder comprising a motion compensator having an output for determining a block corresponding to the particular reference picture index.
10. A video CODEC as defined in claim 9 , further comprising a variable length decoder ( 410 ) in signal communication with the motion compensator ( 460 ) for providing the particular reference picture index to the motion compensator.
11. A video CODEC as defined in claim 9 wherein the motion compensator is for providing motion compensated reference pictures responsive to the fast search block motion estimator.
12. A video CODEC as defined in claim 9 wherein the video signal data is streaming video signal data comprising block transform coefficients.
13. A video encoder for encoding video signal data for an image block relative to at least one particular reference picture, the encoder comprising a fast search block motion estimator for providing motion vectors corresponding to the at least one particular reference picture, the motion estimator comprising a fast search block matching portion for performing fast search block matching while excluding non-optimal search points in accordance with a comparison of a normalization of the image block pixels against a normalization of the reference picture pixels, the fast search block matching portion having an output responsive to the at least one particular reference picture.
14. A video encoder as defined in claim 13 wherein the fast search block matching portion comprises at least one of a data reuse portion and a successive elimination portion.
15. A video encoder as defined in claim 13 wherein the fast search block matching portion comprises a data reuse portion adapted to store the normalization of the current picture and reuse the stored normalization when the current picture is used as a reference picture for coding another picture.
16. A video encoder as defined in claim 13 wherein the fast search block matching portion comprises a data reuse portion adapted to store the normalization of the smallest block size and reuse the stored normalization for larger block sizes.
17. A video encoder as defined in claim 13 wherein the fast search block matching portion comprises at least one of a sum of the absolute difference calculator, a sum of the square difference calculator, and a mean squared error calculator for performing normalization.
18. A video encoder as defined in claim 13 , further comprising a reference picture store in signal communication with the fast search block motion estimator for providing the at least one particular reference picture and a corresponding particular reference picture index.
19. A video encoder as defined in claim 18 , further comprising a variable length coder in signal communication with the reference picture store for encoding the particular reference picture index corresponding to the at least one particular reference picture.
20. A video encoder as defined in claim 13 , further comprising a motion compensator in signal communication with the fast search block motion estimator for providing motion compensated reference pictures responsive to the fast search block motion estimator.