[Mp4-tech] Question about definition of Profiles@Levels for
VisualEncoder
Rob Koenen (MPEGIF)
rob.koenen mpegif.org
Fri Aug 1 09:18:52 EDT 2003
Allen,
As Vinay already remarked, it is hard to talk about compliant
encoders. There are NO minimum requirements on encoders, only
upper limits on the bitstreams they produce. Many "Advanced
Simple Profile" encoders don't do Global Motion compensation
and that's fine. ASP Decoders that don't support GMC are a
problem though (and they do exist).
Encoders must produce bitstreams that are legal under a certain
Profile Level, and these bitstreams could be of extremely low quality.
This is where competition kicks in. Buyers need to compare
encoders and pick the best. This model of competition has
fostered enormous increases in MPEG-2 encoder quality over
the lifetime of the standard.
> The CP L2 has a VCV decoder rate of 23760 MB/s,
> which corresponds to twice CIF (its typical visual session
> size) at 30 Hz.
>
> If encoder A can achieve real-time encoding rate higher than
> 23760 MB/s
> (but it produce bitstream at a rate lower than 23760 MB/s for
> compliance),
> can we say the encoder supports CP L2?
Perhaps in the marketing sense, but there is no definition in
the Standard that supports or refutes such a claim.
> Encoder B is able to encode at a rate slightly lower than 23760 MB/s,
> can we say it supports CP L2? Is it over-designed since it
> can not achieve typical session size at 30Hz for CP L3?
This is all a bit tricky. You could claim this, but a buyer had better
beware and learn about all the relevant parameters.
> Encoder C is able to encode at a rate slightly higher than 11880 MB/s,
> can we say it supports CP L2?
You probably can ...
> Finally, if an encoder's max encoding rate is only 2970 MB/s
> or even worse, can we say it supports CP L2?
You can't say that it does not.
> Since encoders aren't standardized, and thus no lower bounds specified,
> I'm confused about the meaning of "support" and why is there a "typical
> session size".
> I thought that "typical session size" was a lower bound (for encoder).
No, it is just an indication of the environment for which the Level
was designed, nothing more. It has no normative meaning.
> Perhaps it's not a good way to classify encoders using Profile Level?
> Instead, taking max encoding rate as a measure when comparing
> implementations might be a better choice?
All this said, you will find statements about encoders supporting certain
Profiles and Levels, and they probably do make sense. You could say that
an encoder is optimized for a certain Profile Level.
I guess that I would intuitively understand a statement like "Encoder
X supports ASP L3" to mean: if you choose ASP L3 in the settings, it
will not generate illegal bitstreams under that Level, but it will exceed
L2 bounds, and it will use tools that are not in Simple Profile".
This is very loose, and there is nothing in the standard that gives any
definition of what it means for an encoder to support a certain
conformance point.
I understand this may be confusing, but it is a logical consequence
of MPEG's deliberate choice to only standardize decoders and let
competition do its work on the encoder side.
Best,
Rob
More information about the Mp4-tech
mailing list