[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Original]
Re: [XviD-devel] scene change detecting in Bframes mode
> we have to get rid of the image_mad method to detect scene changes
> in B-frames mode. This makes too many mistakes... And a B-frame where
> indeed an I-frame should have been set is ugly.
Oh yes, I wanted to ask: do we have any scene change detection in
bframe mode? I ask because in my encodings, there were I frames only
every 10 seconds + a series of i-frames when people were shooting at
each other in Matrix lobby. It was wrong, anyway.
I was thinking about it and that's what I think:
- when we encode a 'future' P-frame, we should use normal I-frame
detection method
- if we discover a scene change here, we *don't* encode it as a I
frame, but move one frame back and try it. (P or I)
- if it's I again (i.e. it's belonging to future scene) we move back.
We repeat it until we find the frame starting new scene. Once we do
so, we encode it as I frame and we encode a frame before it as P
frame.
The result is:
...B B P <scene change> I B B ... P
Which is what we need. Although BI is possible it's useless in this
case, because the B frame will find no reference in next-scene I
frame, so it will become a badly-encoded P.
I don't know how difficult it will be to encode. No idea at all.
Radek
PS. while I'm writing this mail I have a question, please help: I was
trying to compile xvid_stat in windows (ms v c++) and I discovered
that there is no 'time.h' file. Well there is but it doesn't have the
functions needed. xvid_stat works when I disabled any time-measurement
and I have PSNR only, but I'd like to have fps too.
Re: [XviD-devel] scene change detecting in Bframes mode, peter ross, 2002/08/19