80 likes | 425 Views
Effect of Saturation Arithmetic on Sum of Absolute Difference (SAD) Computation in H.264. Venkata Suman Sanikommu ECE 734 Project Presentation. Motion Estimation. Block matching between successive frames – video compression Find the best matching block (Motion Vector)
E N D
Effect of Saturation Arithmetic on Sum of Absolute Difference (SAD) Computation in H.264 Venkata Suman Sanikommu ECE 734 Project Presentation
Motion Estimation • Block matching between successive frames – video compression • Find the best matching block (Motion Vector) • Motion vector will be used to reproduce the reference frame • Motion vectors are found by calculating minimum SAD
Motion Estimation – SAD • SAD Computation • Compute (Ai – Bi) for all 16 x 16 pixels in the two blocks A and B • Determine which Ai – Bi is less than zero and produce the absolute value in that case, else produce Ai – Bi • Perform accumulate operation to all 16x16 absolute values.
Saturation Arithmetic • Overflowed values will be represented as maximum values • Unsigned: 00…0h, FF…Fh • Example: • 6234h + E123h => FFFFh (saturated)
Saturation Arithmetic – SAD [1] • Use saturation arithmetic and limit the number of bits used to represent SAD values • Reduced computation complexity • Reduced bits for SAD • Might affect the quality of block matching and thus motion estimation
Saturation Arithmetic – SAD [2] • If min{SAD} is less than FF…Fh • Does not affect motion estimation • If min{SAD} is greater than FF…Fh • Affects motion estimation • Subset size for block matching increases • Increased encoded file size • We have to randomly select one for motion estimation • Randomly selected block might not be a best match
Project Work • Modify H.264 SAD computation code for saturation arithmetic • Compare the performance of H.264 video coding for modular arithmetic and Saturation arithmetic for different number of bits. • What is the minimum number of bits required to successfully use saturation arithmetic? • How frequently does the SAD value saturate for a given number of bits to represent? • What is the effect of saturation on encoded file size?