Re[4]: [XviD-devel] scene change detecting in Bframes mode

Radoslaw 'sysKin' Czyz xvid-devel@xvid.org
Tue, 20 Aug 2002 23:34:39 +0930


> syskin, i think you've got I-frames and P-frames mixed up.

gruel is right here


> syskin, isn't this simular to what gruel suggested earlier (that is: use me
> for scenedetection). YES its possible, although will require
> some smarting programming.

Not only he suggested it, but implemented it ;) for P frame-mode only
(ok I dunno if it was gruel. but it's there)

> For each frame we assume its going to be a P-frame ad perform motion
> estimation. After the m.e. we then decide on the frame type
> - I-frame: code the i-frame

No I don't like it. I frame should be on a scene change, not a few
frames after. If you do it a few frames after, then B frames before
this I frame will use only backward prediction, as they belong to the
same scene as the I frame. That's gonna be very inefficient.
> - P-frame: perform motion compensation && code the P-frame (no need to
> perform m.e. since its already done)

Yes of course.

> - B-frame: perform additional m.e. and code the b-frame.

Now how? To code a b-frame you need a future P frame. To have a future
P frame, you need previous P frame. Once you have both P frames, this
frame can ONLY be B, because if you would decide to make it P/B then
you would have to trash the future P frame (not valid anymore).

> The difficult part is, the B-frame "additional m.e.":
> B-frames use a different prediction model, so the P-frame vectors will
> not be optimal. However, the P-frame vectors can be used as a good
> starting point.

Assumption of linear motion, which is a basis of direct mode, seems
to be even better prediction. That's the prediction order used in my
ME and it seems very good.

Best regards

Radek