View Full Version : H.264 Encoder Decision for Choose MB type
Dave1024
4th March 2011, 20:26
Hi,
I would like to know what is the criteria for choosing macro block different sizes like 16 4x4 or 2 16x8 or 8x16 or 4 8x8 and 16x16. Suppose i watch a football match then in my frame how i choose the macroblocks ?
More specifically what type frames or which areas will go for 4x4 or 8x8 or 16x8 or 8x16.
This sub partition will reduce the compression by increase the raw data content in the bit stream.
Dave
Blue_MiSfit
5th March 2011, 06:34
Hi Dave1024,
Short answer: Don't worry about it ;)
Any decent encoder like x264 will choose these subpartitions if and when they are useful. Don't drive yourself insane trying to optimize this yourself!
Derek
Dave1024
7th March 2011, 20:40
Hi,
My question is what is the criteria behind the 'choose' of sub partition. Minimmum resudue ? if that is the case then why go for sub partition all the MB should decode 16x16 without any splits.
i have one more question , what is the significance of calling deblocking filter called as in loop filter
Thanks
Dave
LoRd_MuldeR
7th March 2011, 20:45
i have one more question , what is the significance of calling deblocking filter called as in loop filter
Because in H.264 video the P- and B-Frames use the already deblocked reference frames, i.e. deblocking is part of the encoding process (not only a post-processing filter).
My question is what is the criteria behind the 'choose' of sub partition. Minimmum resudue ? if that is the case then why go for sub partition all the MB should decode 16x16 without any splits.
As 'mode decision' is up to the encoder, the criteria/algorithm can be different in any encoder. In x264 it depends on the selected Sub-ME mode, I think.
The higher Sub-ME modes use RDO (Rate Distortion Optimization), by default with Psy optimizations. Lower modes optimize for SATD, even lower modes for SAD.
Sulik
8th March 2011, 03:59
The basic idea is to balance the cost of the additional motion vectors and partition information with the bits saved by the improved residual from using smaller vectors.
In-loop means processing that is applied to a frame before it is used as a reference (future frames will reference the processed frame), as opposed to out-of-loop post-processing that may be applied later on (for example, in MPEG-4 (non-avc), the deblocking is out-of-loop ~ deinterlacing & scaling are also examples of out-of-loop processing)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.