Inspired by the paper “Real-Time Software Implementation of H.264 Baseline Profile Video Encoder for Mobile and Handheld Devices”, G Nageswara Rao et al.
Brute force selection of the best luma (16×16) intra mode requires to process about 3328 pixels:
-
4 intra predictions for 16×16 block :4*(16*16) pixels
-
9 intra predictions for each 4×4 block: 9*(4*4)*16 pixels
It’s obviously time consuming to find the best luma intra prediction mode.
The following heuristics rule is based on empiric observations: For 16×16 block the best intra mode SAD is highly likely above 1/4 of the SAD of DC mode.
Given the best inter_mode SAD for 16×16 block, compute the SAD of DC mode
If [4 * best_inter_mode SAD < SAD of DC mode] then
select Inter mode (thus we avoid checking more 3 additional intra modes: vertical, horizontal and plane)
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume