PDA

View Full Version : Can H.264 give poorer video quality? YES


William
07-22-2004, 01:59 AM
I have seen some posts in the past questioning whether H.264 actually gave better quality on certain endpoints. I was on a call today which demonstrated why this could be an issue, and really it’ was an underpowered endpoint which is to blame – not the codec.

Here is what I was doing…

I was on a video call from the states to Europe over IP. We were connected at 256k both ends had endpoints which supported H.264. One was from vendor A, which was underpowered, but still claimed to be able to do 30fps of H.264, and the other was from vendor B. I was using the endpoint B, which I had been very pleased with, but this call was just not very good. The video was really jerky and blocky, I was very disappointed, so I assumed that the connection was bad and continued with the call.

As we were wrapping up I asked the other people what they they thought about the video quality and they said they were amazed at how smooth and sharp the image was, well I was dumbfounded, because I always thought that endpoint A wasn’t very powerful. So we spent a little time looking into what was going on.

The product from Vendor B was producing very good H.264 at 30fps just as had been negotiated, and was sending it well within the allocated bandwidth. The endpoint from vendor A was receiving this stream, decoding it, and producing a lovely picture. This was using about 70% of its DSP power. (Remember endpoints cant cheat on the decode, they must decode every frame, since each frame depends on the one before).

The result of this is that endpoint A did not have enough DSP power left to do anything other than a pathetic 4fps of really shoddy video. Much worse than it would have been if we had connected using H.263, because in this case it would have used 30% of the DSP to decode leaving 70% for a good encode. (Degrading on the encode is allowable, its all an codec can do when getting overloaded). What irks me is that endpoint A negotiates 30fps, and it NEVER sends more than 15fps. The only way it can do that is when it connects to another endpoint A which only sends it 15fps.

So what was the result ?

I had a more powerful endpoint, but my video quality was worse because of it !

Do we put too much pressure on the vendors to implement features that are beyond the capabilities of their hardware, or should we expect vendors to be more specific about the limitations on features in their products?

George
07-22-2004, 01:28 PM
Hi William,

First - Welcome to the forums!!
Second - Very interesting post. I'd be extremely interested in finding out what vendors you were referring to. I am in no way associated with any vendors. I'll contact you via PM.

George

tom9933
07-22-2004, 02:22 PM
It sounds we not only want to know what a unit is really capable of, but maybe we also need to ask for a way to disable H.264 on endpoint B.
Just my two cents…

Sean Lessman
07-22-2004, 06:22 PM
It sounds we not only want to know what a unit is really capable of, but maybe we also need to ask for a way to disable H.264 on endpoint B.
Just my two cents…

Interestingly enough, most people do not realize there are several profiles for H.264. Each profile has different levels. Simply supporting H.264 is not enough. All H.264's are not created equal. Buyer Beware. Get a side by side demo if you want to compare.

Sean

sbd
07-23-2004, 01:19 AM
Interestingly enough, most people do not realize there are several profiles for H.264. Each profile has different levels. Simply supporting H.264 is not enough. All H.264's are not created equal. Buyer Beware. Get a side by side demo if you want to compare.

Sean

If what you say is true then what is the point of standards. Is H.264 a published standard? If so, are the different profiles published? Is so, shouldn't manufacturers quote the profile they say that their product adhears to?

William
07-23-2004, 11:22 AM
A codec is required to decode everything defined in the standard, it is not required to use all the features of the standard when it is encoding a stream. H.264 had defined 2 profiles, "baseline" which is what everyone is currently conforming to, and "mainline" which is harder (and better).
Vendor A endpoint completly conformed to the standard, in that it properly decoded the stream, and it produced a conforming, but poor quality, stream.

vtjoe
07-23-2004, 02:26 PM
William,

Is it possible that the vendor product recieving the poorer video quality was because of the public internet? Transmit and recieve quality will not always be the same over the public internet. It would be good to see if the same results occur on a local LAN.

As an end user, I would appreciate the information public on which vendor had the poor quality and which was good... assuming that it is confirmed that it is not network related. However, if you don't feel comfortable doing this, please send me an e-mail.

trapehzoid
07-23-2004, 06:43 PM
plus.. being able to encode something, doesn't mean it will do it as good as another product. Hence why video quality even between two different H.263 or H.261 systems will be different.

I'd be curious how william qualifies his DSP power statements.

But video quality differing between vendors is nothing new. The only new aspects are that H264 requires so much more power, and there is so much more market pressure to implement it. Because of this market pressure, I think vendors are implementing stuff they know isn't as good as their non-H264 stuff.

An easy shortcut many people take is simply dropping framerate... others simply limit to 15fps to start with, and still cut framerate. (remember also, framerate is NOT a defining quality of video.. just an easy component someone can 'cheat' with). I think the FX only does 15fps capabilities for H264, haven't played with it enough to look at the rate it can sustain.

I know some tandberg products (the small ones) can only do 15fps too, but the other ones do 30fps. Again, I haven't looked close enough to see what frame rate they actually sustain in 'average' video.

cribbinsb
07-30-2004, 01:53 PM
I've done quite a lot of work looking in detail at various vendors H.264 implementations. I can think of at least 9 different endpoints I've tested recently from 4 different vendors: 8 are hardware and 1 is a pc app. Of those 3 will never do more than 15fps. A further 3 will do 30fps but struggle to maintain it under load. Only the final 3 have H.264 that can always maintain a good framerate, and, in my opinion, only these have an overall quality that is clearly better than their H.263.

The range of h.264 "tools" used by the encoders varies considerably but none of them yet use all the tools (e.g. none use multiple reference frames). As is to be expected the endpoints with less dsp horsepower generally have lower framerates, use less encoder tools, and have a lower quality overall.

The effect that William saw is quite easy to reproduce with the under-powered codecs: when they have to decode a "difficult" stream (i.e. one encoded at a high frame rate, or using more of the h.264 tools), they drop the framerate of their encoders.

The dsp power required to do a good h.264 implementation is around 4x that of the equivalent h.263 implementation so I guess we shouldn't find it too surprising that some of the endpoints based on older hardware have limitations.

vtjoe
07-30-2004, 03:37 PM
Of those 3 will never do more than 15fps. A further 3 will do 30fps but struggle to maintain it under load. Only the final 3 have H.264 that can always maintain a good framerate, and, in my opinion, only these have an overall quality that is clearly better than their H.263.

Thanks for the input. Can you say what vendors you tested? ....at least tell us the three that you thought were able to maintain good frame rate. Thanks.

knickull
08-19-2004, 01:35 AM
"Can you say what vendors you tested? ....at least tell us the three that you thought were able to maintain good frame rate. Thanks."

Please can you reveal the 3 models .. could save a lot of time and money for other users...;)