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

Christoph Lampert xvid-devel@xvid.org
Tue, 20 Aug 2002 11:51:26 +0200 (CEST)


On Tue, 20 Aug 2002, Radoslaw 'sysKin' Czyz wrote:
> 
> Now I have a question: Why can't we use the current (ME-based)
> scene-detection algo?
> Of course I don't want to conduct P-frame ME for every frame. I only mean
> doing it for a P frame. If this frame will turn out to be from new
> scene, THEN go back one frame (in viewing order) and check which scene
> is this. Keep going back until you found the last frame of old scene
> (and encode it as P - ME is done already; encode the frames before as
> B, next frame [first of new scene] as I).
> There is no waste in computing power unless there is many B-frames and
> lots of scene changes. No more than current max_bframes = -1, anyway.
> 
> The only problem I see is putting it into bitstream in VfW
> compatibility mode.
> Please enlighten me what's wrong with it. Or ask questions if what I
> said is difficult to understand.

I think this would be possible. The problem is that currently key-frame
decision is done when the frame is imported (so before then following
P-frame). 

It's a little difficult to implement your method because order in
bitstream has to be changed etc. 
Maybe as a first step we should simply adopt DX50 style: No B-frames 
just before an I-frame. (PBBPBBPPPI) instead of (PBBPBBPBBI), then we
can make it into a general setup to "change encoding order" for a chunk of
frames.

I guess Pete wrote the code for this. Do you think Radeks method is
possible? 

gruel
-- 
Christoph H. Lampert chl@math,uni-bonn,de | Diese Signature wurde maschi-     
Beringstr. 6, Raum 14 Tel. (0228) 73-2948 | nell erstellt und bedarf
Sprechstunden: keine, aber meistens da    | keiner Unterschrift. AZ 27B-6