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