[AVT] H.264 payload spec: a few remarks
philippe.gentric@philips.com Tue, 11 March 2003 13:16 UTC
Received: from www1.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA18476 for <avt-archive@odin.ietf.org>; Tue, 11 Mar 2003 08:16:06 -0500 (EST)
Received: (from mailnull@localhost) by www1.ietf.org (8.11.6/8.11.6) id h2BDTZa29253 for avt-archive@odin.ietf.org; Tue, 11 Mar 2003 08:29:35 -0500
Received: from www1.ietf.org (localhost.localdomain [127.0.0.1]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h2BDTBO29239; Tue, 11 Mar 2003 08:29:11 -0500
Received: from ietf.org (odin.ietf.org [132.151.1.176]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h2BDSLO29214 for <avt@optimus.ietf.org>; Tue, 11 Mar 2003 08:28:21 -0500
Received: from gw-nl4.philips.com (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA18442 for <avt@ietf.org>; Tue, 11 Mar 2003 08:14:20 -0500 (EST)
From: philippe.gentric@philips.com
Received: from smtpscan-nl3.philips.com (smtpscan-nl3.philips.com [130.139.36.23]) by gw-nl4.philips.com (Postfix) with ESMTP id 761CDA4B1C for <avt@ietf.org>; Tue, 11 Mar 2003 14:16:07 +0100 (MET)
Received: from smtprelay-nl1.philips.com (localhost [127.0.0.1]) by smtpscan-nl3.philips.com (8.9.3-p1/8.8.5-1.2.2m-19990317) with ESMTP id OAA11094 for <avt@ietf.org>; Tue, 11 Mar 2003 14:16:06 +0100 (MET)
Received: from hbg001soh.diamond.philips.com (e1soh01.diamond.philips.com [130.143.165.45]) by smtprelay-nl1.philips.com (8.9.3-p1/8.8.5-1.2.2m-19990317) with ESMTP id OAA17626 for <avt@ietf.org>; Tue, 11 Mar 2003 14:16:05 +0100 (MET)
Subject: [AVT] H.264 payload spec: a few remarks
To: avt@ietf.org
X-Mailer: Lotus Notes Release 5.0.9a January 7, 2002
Message-ID: <OF3DDC8E4D.748040E1-ONC1256CE6.0047ED40-C1256CE6.00490106@diamond.philips.com>
Date: Tue, 11 Mar 2003 14:09:20 +0100
X-MIMETrack: Serialize by Router on hbg001soh/H/SERVER/PHILIPS(Release 5.0.9a |January 7, 2002) at 11/03/2003 14:17:05
MIME-Version: 1.0
Content-type: text/plain; charset="us-ascii"
Sender: avt-admin@ietf.org
Errors-To: avt-admin@ietf.org
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
stephen, all,
a few remarks on H264 RTP payload:
********************
General remarks:
The title(!) and the text keeps on using "JVT" while the file
name, the abtract and introduction use the term H.264. (and
introduction explains why H.264 is the correct name!) I think a
global find-and-replace(JVT->H.264) is needed!
The term "NALU" is defined but after that "NAL unit" is also
used, consistency could help.
There are quite a few reference problems i.e.
* figures and table numbers
* "above" used for things that are below and vice versa
* wrong internal section references
Some acronyms are not explained: SEI, IDC (also "Idc"?), DPA,
DPB, DPC (even FEC etc), (could be more I did not check), also I
am always fascinated by recursivity in acronyms: "NRI: NAL
Reference IDC" (this one is superb!-)
Detailed remarks:
Section 1.1
I suspect the sentence "Neither VCL nor NAL are claimed to be
media or network independent" should be removed because it is not
logically correlated to the rest of the paragraph.
About the paragraph:
"Also, there are NAL units that are affecting many pictures and
are, hence, inherently time-less. For this reason, the handling
of the RTP timestamp requires some special considerations for
those NALUs for which the sampling or presentation time is not
defined, or, at transmission time, unknown."
Describing these NALU as being "time-less" and of having
"presentation time [] not defined" could cause some mis-
understanding, another formulation could be:
"Some NALU transport information that affect the decoding process
over a period of time corresponding to many video frames; For
these units, the handling of the RTP timestamp requires some
special considerations especially in cases where this duration is
unknown at transmission time." BTW the same remark applies in section 6.1 for "If the NALU has
no own timing properties". You should also elaborate i.e. start
to present _how_ the "special considerations" are implemented in
the spec ...
About the sentence:
"The combination of the higher level parameters is called a
Parameter Set".
It would be useful to add:
"which is a data structure akin to what is described as "decoder
configuration" in MPEG-4 specifications."
since this concept is quite specific to MPEG-4 codecs and H.264
(e.g. most speech or "older" codecs do not have this etc).
About the sentence:
"Although, conceptually, the Parameter Set updates are not
designed to be sent in the synchronous packet stream, this memo
contains means to convey them in the RTP packet stream."
It is strange (actually potentially contradictory: if they are not
"designed" to be sent in packets you would need to document how
to map them into NALU but then why the draft does not do that?),
perhaps you should replace "designed" with "intended"? in any
case it could benefit a little explanation of the "why".
The sentence:
"The JVT specification declares a value of 1 as a syntax
violation"
I like this old joke ... ah syntax violation ... is it a
disgusting crime or something one might indulge oneself in?-)
but at first it _really_ reads as "it is forbiden to set this bit to
1" so your reader will start scratching his (her) head... what
about:
"The F bit when set to 1 signals that the NALU or header contains
a syntax error, in the context of this specification it may have
been set by a network device upon detection that a transmission
error has affected the corresponding data. A prudent reaction of
decoders that are incapable of handling bit errors is to discard
such packets. "
In the "4. scope" section one finds:
"Likely, the first applications of a Standard Track RFC resulting
from this draft will be in the conversational multimedia field,
video telephone or video conference"
This is all very good but something is missing there. I think the
problem is not what will be the "first" application but rather
what is the _intention_ and _suitability_. This section does not
say anything about the suitability of the specification for say
broadcast or video on demand, which is at minimum extremely
surprising since in the introduction the reader was entertained
about "a very broad application range" and how good H264 is to
transport satellite quality at 1.5 Mb/s!
In section 6.3.1
I could not find _how_ DON is computed except "The DON of the
first NALU in transmission order MAY be set to any value", if you
dont mandate anything it should be explicit for example "It is
not required that DON are monotonously incremented"
in the figure "NALU payload format for STAP." (same for the next
2 figures) what are the first 8 bits ?
Sometimes one finds "NALU type octet" some other times "|F|NRI|
type |"; consistency would help.
By "D1 . D2 >= 32768" you probably mean "D1 - D2 >= 32768" ?
It says: "NAL units associated with different primary coded
pictures according to subclause 7.4.1.2 of [1] MUST NOT have the
same value of DON." Is it possible to have an accidental
collision? Then what could be the consequence?
In section 6.3.2
"DON of the following NALU is equal to DONB + DOND and MUST NOT
be larger than 65535" You mean that DON=DONB+DOND MUST NOT roll
over inside a packet, right? It would help to add if DONB roll
over can occur at any value (also see above "not monotonously
incremented" rule?) for the next packet...
In Section 6.4. "Fragmentation Units " I could not find the
indication that there cannot be more than one FU per RTP packet?
I think it is the case? if it is it should be more explicit.
(and also, why then call it a "unit" rather than a "packet" ?)
"R: 1 bit The Reserved bit MUST be 0." sheer curiosity: what is
the purpose of a reserved bit with a _forever_ fixed value ?
"A FU payload can have any number of octets and can be empty" why
(what for?) can it be empty?
In Section 7.1 about the sentence:
"Some receivers MAY NOT support a transmission order that does
not conform to the NAL unit decoding order. "
By what mean the sender can find out about that?
In Section 10. Security Considerations:
What about crashing a decoder by sending a lethal Parameter Set ?
References:
for [14] I found it online at: http://www.diee.unica.it/pv2000/proceedings/papers/30.pdf
The link http://www.pv2002.org is broken(?) but I found that paper at:
http://www-video.eecs.berkeley.edu/papers/sangk7/pv2002.doc
************************************************************
regards,
Philippe Gentric
Software Architect
Philips MP4Net
philippe.gentric@philips.com
http://www.platform4.philips.com
_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www1.ietf.org/mailman/listinfo/avt
- [AVT] H.264 payload spec: a few remarks philippe.gentric
- Re: [AVT] H.264 payload spec: a few remarks Stephan Wenger