PDA

View Full Version : Idea about saving space for 1 cd encodes (B-Frames and lumimasking like)


pandv
23rd September 2002, 18:52
Sorry, I try to explain a complex thing in english, and I need to be very schematic to avoid confusion (if you want a spanish post, let me know).

The savings using B-Frames are in the quantizer increment, because the next frame is not affected (it's based in the previous P or I Frame).

In a normal encode we have K-blocks and M-blocks, the M-blocks are based in the previous one (from the previous frame), the K-blocks are independent.

So, if a block (M or K) in one position is followed by a K block in the next frame (same position), maybe we can increment the quantizer for this bloc, without visual notice (the bad quality is replaced in the next frame with a new block).

With MVHints, I think we have the needed information to compute this situation.

It's possible? It's realistic?

pandv.

Koepi
23rd September 2002, 18:57
You got the idea right :)

But I really dislike the "abuse" of pframes for this matter as bframes are on their way and already looking very nice according to... uhm... I think it was sysKin :)

He has a better idea for MVhints: making them real hints as offset for improved motion search, resulting in an even better quality for 2pass+MVhints instead like now decreasing quality!

His motion estimation will become default soon and thus some other benefits, too.

Regards,
Koepi

-h
23rd September 2002, 19:28
This is a good idea, but would probably be integrated with motion masking.

In that case, we would adaptively set the TOOSMALL_LIMIT value, which determines how sparsely detailed a block has to be before being skipped. We would increase the limit (skip more blocks) if the block happens to have a large motion vector, or additionally if we know that the next frame will replace that block with an intra block.

However that doesn't really happen all that often in the context of a full movie, but you may gain 1% or so in compression.

-h

Aktan
24th September 2002, 05:19
"Every little bit helps" :D

Koepi
24th September 2002, 12:12
Integrating this with adaptive quantization is a great idea because you're willing to sacrifice some "original" blocks for bitrate there - this makes perfectly sense, I didn't think about that before, sorry.

But without lumi masking the resulting frames/macroblocks should be as close to the original as possible IMO.

Regards,
Koepi

pandv
24th September 2002, 14:30
Happy to read good news about B-Frames and MVHints.

And, about skipping blocks, I proposed this only for 1 CD encodes, because the Koepi's statment (should be as close to the original as possible) it's true if you have enough bitrate available. If you are bitrate limited I am more for "should look as good as possible". So, if implemented, I think it need to be optional.

pandv