Log in

View Full Version : Encoding a single field with qpel enabled


Manao
17th September 2004, 20:12
It concerns every MPEG-4 codec, not only XviD, but I think it's the most appropriate forum to ask my question.

I have an interlaced video. I separate top field from bottom field, and I keep only on of the two field. I encode it, with XviD for example, at different fixed quantizers, in order to draw a rd curve

I draw two curves : one with qpel enabled and one without. Most of the time, the curve with qpel will be lower ( and sometime by more than 0.5 dB ) than the curve with only hpel interpolation. At same quantizer, the video was often around the same size with qpel and without, but psnr was drastically decreased.

I was rather surprised by that fact, since on progressive video, qpel is efficient ( psnr wise, at least ).

So I wondered what could be the explanation. I hacked a codec in order to change the way hpel interpolation is made when qpel is enabled. I change the 4 tap FIR which was used by a simple bilinear interpolation. I then encoded the field, and this time the rd curve got higher with qpel than without it. Of course, the file created was not MPEG-4 compliant, it was just a test.

However, I think that test shows that the 4 tap FIR somehow messes up with the decimation made when I throw away one of the field, but that is just an assumption, nothing more. Does anybody have a clue on what is exactly happening ?

lordadmira
17th September 2004, 20:40
I think what's going on is that taking only one field destroys the fine pixel gradients at the boundaries of moving objects and thus there're no "intermediate gray" pixels for the QP to lock onto and detect. A half field video is inherently blockier than the original. To check this try resizing the original into a progressive of half height and try the comparison again.

LA

Manao
17th September 2004, 21:00
I took the field out of interlaced videos, so I can't resize the frame to half it's height. A half field video is inherently blockier than the original.Not blockier. It has aliasing, when taken alone, but it is not blockier.

lordadmira
18th September 2004, 12:35
I don't mean blockier as in macroblocks or the blocks u see in a quant 31 encode. I mean that smooth lines are lost and everything gets a stair stepping or saw tooth effect. Aliasing is another way to describe it. Blockier.