Log in

View Full Version : MPEG4 and studio quality


Bishep
25th March 2002, 06:01
I would like to know why ANY MPEG4 codec can't give the professional level of quality. Saying the word 'professional' I mean the studio quality, when I can get any frame from encoded movie and say: 'Yes.. it's so good as JPEG photo. There are absolutely no blocks and very good colors'. I want to say that today MPEG2 is still the best codec for professional level of quality and I can't let myself to use MPEG4 codec, when have the idea of superior quality.
But I want to say that XviD (compared to all other MPEG4 codec) is highly developed in this way. (I'm always searching for professional-studio-quality-level-MPEG4-codec) Maybe becase of '1' quantisation maximum (instead of '2' in DivX). So thanks to its creators and developers. I like the idea of independent team... Usually 'independend' and 'not commercial' teams get the best results in questions of digital coding (LAME and XviD are very good examples).
So.. the question is.. why ANY MPEG4 codec (XviD or DivX or any other) is still not so good as MPEG2 codec (TMPGEnc)?

Koepi
25th March 2002, 08:41
?

You're just kidding and want to freak us out, right?

-h
25th March 2002, 09:57
I've often wondered about this, and am going to look for the MPEG-2 spec to see exactly how this is possible.

I personally think it's a ruse. TMPGEnc uses a number of tricks which actually lowers quality dramatically (just step through a clip frame-by-frame that uses B-frames... you'll see what I mean) as well as motion masking which is painful to watch.

If you want absurdly good quality, set XviD's quantizer to 2, and the custom quantization matrices to all 8's. Should produce an enormous file, too.

-h

Bishep
25th March 2002, 12:45
If you want absurdly good quality, set XviD's quantizer to 2, and the custom quantization matrices to all 8's. Should produce an enormous file, too.
I've tryed to do this and changed quantization matrices as you offered. But all movies (encoded in this way) couldn't be played anywhere (Microsoft Media Player, BSPlayer, Zoom Player). In BSPlayer & Zoom Player I've got the message about decoder error. Media Player played my movies, but they were awful (8x8 blocks with 'random' picture). :(

Bishep
25th March 2002, 13:09
You're just kidding and want to freak us out, right?
right! :D :p :sly:

-h
25th March 2002, 13:29
I've tryed to do this and changed quantization matrices as you offered. But all movies (encoded in this way) couldn't be played anywhere (Microsoft Media Player, BSPlayer, Zoom Player). In BSPlayer & Zoom Player I've got the message about decoder error. Media Player played my movies, but they were awful (8x8 blocks with 'random' picture). :(

Excellent. Sounds like we have a bug :)

Well I had a look around, and MPEG2 is quite inferior to MPEG4 - the motion vectors take up more space, DC/AC prediction isn't as good (or just absent altogether), MPEG2 has one less zig-zag scanning mode and the VLCs aren't all that different (in fact MPEG4 has more to choose from). If one performed a lossless (MV's + DCT coefficients) transcode from an MPEG2 stream to MPEG4, MPEG4 would use less space.

MPEG2 is also missing a number of MPEG4's features which will (eventually, when implemented) drop bitrates even more - shape-adaptive DCT, quarter-pel ME, global motion compensation, sprite coding, texture coding with wavelets, shape-adaptive wavelet transforms, dynamic resolution conversion, etc.

This has got me interested though, I'll have a look through mpeg2dec and see if the faqs I've been reading are actually accurate.. I really don't think MPEG2 could be as bad as I'm reading.

In terms of why TMPGEnc can often seem to outperform MPEG4, it's performing much more pre/post-filtering (i.e. lots) compared to say XviD (i.e. none).

-h

Nic
25th March 2002, 13:36
MPEG-2 is that "bad", but people expect to use high bitrates with it, at this very moment, im encoding at 5MBit (Full D1 res), & that gives good quality (although I prefer 7MBit)...But below 5MBit it gets bad, 4 is OK, 3 is passable & 2MBit is a joke (at that high a res)

(this is all with the highest quality encoding equipment)

MPEG-4 is the better choice....

Cheers,
-Nic

trbarry
25th March 2002, 14:32
I thought "Studio" quality also included the ability encode in 4:2:2 and 4:4:4 color spaces for higher quality. Does Xvid support these?

A lot of people keep telling me that mpeg2 is better than mpeg4 for high bit rate high resolution encodings for some reason. But my own experience with HDTV caps suggests just the opposite.

The only advantage I see with mpeg2 is that for higher bit rates the hardware IDCT and/or motion comp built into the darn graphics cards can make some mpeg2 playable on machines where mpeg4 isn't yet. (Too bad DXVA coding is so confusing)

But that still wouldn't include high resolution Studio Profile video.

- Tom

-h
25th March 2002, 15:11
I thought "Studio" quality also included the ability encode in 4:2:2 and 4:4:4 color spaces for higher quality. Does Xvid support these?

Hm it hasn't made it into v.18 of the mpeg4 video verification doc. It's part of MPEG4 natural video v2 I guess? It would require substantial mods to XviD in any case, 4:2:0 is assumed almost *everywhere*. That aside, MPEG4v2 will probably be quite a departure from MPEG4v1 that XviD is centred around. XviD's core is going to need quite a bit of modularization to expand into the higher profiles...

A lot of people keep telling me that mpeg2 is better than mpeg4 for high bit rate high resolution encodings for some reason. But my own experience with HDTV caps suggests just the opposite.

Well for progressive frames, even MPEG1 can outperform MPEG2 in some circumstances. Heck, throw enough bits at it and anything will look good :)

I wish I had a laptop, I could play with this stuff during the 3 hours I'm on a train every day.

-h

Gabriel_Bouvigne
26th March 2002, 14:05
I have a question related to this discussion: what are the differences between mpeg4 natural video coding and mpeg2 video coding?

I found ISO test reports indicating a good improvment for low bitrates, but I still don't really know why. All that I found right now is:

*quarter pixel motion estimation

*a possibility to define a sprite including several macroblocks and perform motion estimation on this whole sprite. (is it really used in natural video?)

So could someone enlight me?