Sum of absolute transformed differences

The sum of absolute transformed differences (SATD) is a widely used block matching criteria used in fractional motion estimation for video compression. It works by taking a frequency transform, usually a Hadamard transform, of the differences between the pixels in the original block and the corresponding pixels in the block being used for comparison. The transform itself is often of a small block rather than the entire macroblock. For example, in x264, a series of 4×4 blocks are transformed rather than doing the more processor-intensive 16×16 transform.

Comparison to other metrics

SATD is slower than the sum of absolute differences (SAD), both due to its increased complexity and the fact that SAD-specific MMX and SSE2 instructions exist, while there are no such instructions for SATD. However, SATD can still be optimized considerably with SIMD instructions on most modern CPUs. The benefit of SATD is that it more accurately predicts quality from both the standpoint of objective and subjective metrics. As such, it is often used in video compressors, either as a way to drive and estimate distortion explicitly, such as in the Theora (since 1.1 alpha2) encoder,[1] as an optional metric used in wide motion searches, such as in the Microsoft VC-1 encoder, or as a metric used in sub-pixel refinement, such as in x264.

See also

References

  1. "r16019 commit in theora-thusnelda branch". xiph-commits (Mailing list).
This article is issued from Wikipedia - version of the Sunday, April 10, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.