[M4IF Technotes] MPEG-4 Simple profile ?
Kris Huber
khuber sorenson.com
Tue Jun 4 13:15:31 EDT 2002
Hello Priti,
Here are answers to your questions according to my understanding:
>1. Why would a simple profile bitstream with short header
> work with a H.263 decoder?1.
I would think that normally when a short header bitstreams are used, whether
it has a VOS header will be system-dependent, but normally VO or VOL headers
are not used when short header is used. My evidence for this is that there
are a few short header conformance bitstreams in raw format that start right
out with the short header, whereas most of the conformance bitstreams start
out with a VO header. At least in some systems, it is as easy to skip VOS
headers as VO and VOL headers (short header is an alternate-syntax VOP). I
believe that the ability of an MPEG-4 decoder to decode a baseline H.263 may
have been a requirement at some point. The reverse capabibility (MPEG-4
short header to H.263 baseline is of course enabled as well).
As for the paper EMPS_1998.pdf, on transcoding from MPEG-4 to H.263, much of
it deals with transcoding of more complex MPEG-4 bitstreams to H.263. If an
MPEG-4 bitstream is coded in short header mode, then that is all you need to
detect - it will be bit-for-bit compatible with H.263 baseline. Short
header ensures also that only the H.263-compatible VLC table is used. The
extra motion vector codeword in MPEG-4 mentioned in the paper is not used in
short header mode. A footnote the ensures this was added to Table B-12 by
corrigendum (but in fairness to the authors, this didn't happen until after
their paper). The 1st and 65th codewords are redundant (-16 and +16
full-pels encode the same motion vector) when vop_fcode=1 due to VLC symbol
aliasing, but for larger fcode values the 65th codeword is not redundant.
It is needed to avoid an awkward dependence of the set of encodable motion
vectors on the predicted motion vector; i.e., with the 65th codeword, not
every motion vector in the search range would be encodable.
>2. Where to get the short header conformance bit stream from?
The version 1 bitstreams published by ISO include a few (vcon-ge16-L1.bits,
vcon-ge16-L1.bits, vcon-ge16-L3.bits). All other H.263 baseline bitstreams
also can be used to verify conformance. The MPEG-4 reference software
should decode them and give you output to compare with.
>3. Which publicly available players play the mp4v streams with
> simple profile level 0?
I suspect that most of them do, but don't know for sure. I'm quite sure our
simple and advanced simple decoders understand Simple L0, but some decoders
may not because L0 was added after Simple L1-L3.
>4. In quicktime, they have a way to store H.263 frames under
> stsd as 'h263' atom type. Is there any s/w available which would
> create such files? (so that older clients can play them)
I'm sure there is. Although maybe the latest versions don't include it (I
don't know for sure).
Regards,
Kris
-----Original Message-----
Date: Mon, 03 Jun 2024 17:23:04 -0400
From: Priti Patil <priti artlover.com>
Reply-To: priti artlover.com
Organization: CMG
To: technotes lists.m4if.org
Subject: RE: [M4IF Technotes] MPEG-4 Simple profile ?
Hello,
I'm going through the archive for answering some questions
I have and here is the context...
-----Original Message-----
Hi Gigi,
Visual Simple Profile isn't identical to H.263 baseline, but
there is a subset (called "short header mode") that is the
same. So if you have an MPEG-4 Simple Profile decoder,
you should be able to decode an H.263 baseline bitstream
(minor header conversion may be needed, but it's easy).
In general, a Simple Profile Bitstream won't work on an H.263
decoder, unless it's specifically restricted to short header
mode.
-Ralph
-----------------------------------
Now, here are my questions:
1. Why would a simple profile bitstream with short header
work with a H.263 decoder?
My understanding is that the simple profile bitstream
would still contain VOSheaders, VOL and VOP data before
the VO bitstream starts with its short header... So how would
an H.263 decoder be able to understand all that data?
Also, based on following link, even the simple profile
level 0 (this is the one with short header) would need some
amount of transcoding to be played with H263 decoder.
http://www.ee.surrey.ac.uk/Personal/S.Dogan/pubs/EMPS_1998.pdf
2. Where to get the short header conformance bit stream from?
3. Which publicly available players play the mp4v streams with
simple profile level 0?
4. In quicktime, they have a way to store H.263 frames under
stsd as 'h263' atom type. Is there any s/w available which would
create such files? (so that older clients can play them)
Thanks
Priti
More information about the Mp4-tech
mailing list