[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [AVT] Request for WG Last-Call for draft-ietf-avt-rtp-3gpp-timed-text-07.txt



José,

On 25 Oct 2004, at 09:32, Rey Jose wrote:
The last update of this draft was published by the ID manager on October 8th:
http://www.ietf.org/internet-drafts/draft-ietf-avt-rtp-3gpp-timed- text-07.txt


Comments during and after the IETF have been incorporated into -06 (in -07 only editorial nits were corrected using the webtool) and sent to the list on September 10th. No comments have followed.

Additionally, the draft has already passed the 2-week review period by IETF-types (sent to <ietf-types at iana.org> mailing list on September 13th).

So I'd like to ask for WGLC.

This draft is clearly not ready for working group last call. There are some significant editorial and document quality issues that obviously need to be addressed, along with a number of technical problems.


The editorial issues relate primarily to document structuring and clarity of explanation. The draft is difficult to follow, confusing introductory material with the payload format specification, and badly structured. You should start with an introduction, then move onto background, requirements and design rationale, then terminology, then the payload format and rules for packetization, fragmentation, etc.

You need to write a simple introduction that briefly describes the purpose of the document, introduces the 3GPP timed text format, and outlines how the remainder of the document is structured. This could comprise the first two paragraphs of the current section 2 and much of section 2.1, followed by an outline of the remainder of the document. This will be section 1 of the revised draft.

Create a new background, design rationale and requirements section. This will probably have much of the text from the current section 2.1 and 2.2, and should form section 2 of the revised draft.

Review section 2.3 of the current draft, splitting it into text which is background and design rationale, and that which specifies behaviour. The text specifying behaviour should go into the payload format specification section (much of the current section 2.3.3 to 2.3.6 is specification, not background, since it places normative requirements on implementations). Moving this text into the payload format specification may require you to restructure that section, either splitting it or adding new subsections.

Move the terminology section later in the document, to form section 3 of the revised draft.

Make sure all figures are numbered and have appropriate captions, and are cross-referenced by figure number. Ensure that figures are not split across page boundaries.

I believe these are the minimum set of changes needed to bring the document structure into line, and to make it understandable to readers.

Moving onto the technical issues, I recommend you add two new sections to explain how this draft relates to RFC 2793 and to RFC 3640.

In section 2.2, requirement 1 is to keep the 3GP text sample structure. This is justified by stating that a receiver SHALL be able to rebuild the text samples from the received RTP packets. I agree that rebuilding the text samples is an appropriate goal, but don't see why this requires the payload format to keep the 3GP text sample structure? We have other payload formats that modify the data format to optimise media transport, but allow reconstruction of the original data.

In section 2.2, requirement 3 states that it may be more appropriate to send large sample descriptions in-band. What is the justification for this? In-band transmission would seem inappropriate for large descriptions, since they're more likely to be affected by packet loss than smaller descriptions that fit into a single packet.

Section 2.3.3 (second bullet point on page 9) ends with "explained further in this document", but doesn't say where. In this, and all other similar cases, please give explicit cross-references to section or figure numbers.

Section 2.3.3 (last bullet point on page 9) mentions that "it does not seem reasonable to include such additional headers". What headers are these? The text preceding talks about intelligent fragmentation, but it's not clear that this needs extra headers.

Section 2.3.4 specifies how packets are formed from samples and modifiers. The rules listed in the numbered list at the start of the sections allow empty packets, but the preceding text specifies that at least one unit of data must be included. Which is correct?

The first observation in section 2.3.4 (near the end of page 10) states that type 5 units may be placed anywhere in the aggregate, and SHALL NOT be regarded for calculating the timestamp (indeed, they MUST be ignored when calculating the timestamp). The numbered rules for aggregate payload earlier in the section allow a packet that comprises only a type 5 unit. What is the RTP timestamp for such a packet, given that type 5 units MUST be ignored when calculating timestamps?

Figure 1 is unclear, please add a key explaining what is being shown, and explaining the labels. What are these particular examples chosen?

An unnumbered figure is split across the end of page 11 and the start of page 12. It's not clear if this relates to the text immediately before it ("For illustrative purposes, three different...") or that following. Please label the figure, and clarify from where it's referenced.

Section 2.3.5 talks about the TOTAL and THIS fields, which have not been defined. This discussion needs to be moved to after the specification of TYPE 2, 3 and 4 headers, where these fields are defined.

Section 3 starts with an unnumbered figure, which needs a figure number and caption. This shows an RTP packet without payload header which is confusing since Figure 2 (in section 3.1) shows the presence of the payload header. I suggest moving Figure 2 to the start of section 3, rather than having near duplicates of the packet diagram.

Section 3 again notes that TYPE 5 units do not make use of the timestamp. All RTP packets need a valid timestamp; if only TYPE 5 units are included, what value does it take?

Section 3 notes that the RTP timestamp rate is the value of the "timescale" parameter in the Media Header Box. Because the timestamp rate affects the synchronisation accuracy and RTCP statistics, I think this draft needs to give guidance on how that parameter is chosen when the file is constructed.

Section 3 notes that "Other timestamp clockrates MAY be used" but doesn't give guidance on what are appropriate other rates. Suggest adding some text to explain that the typical use is to match the 3GPP timed text clock rate to that used by an associated audio or video stream, not to use some arbitrary value.

Section 3 (last paragraph on page 15) states that "no default sample size of sampling rate is defined for timed text". Four paragraphs earlier the draft states "A default value of 1000 Hz is RECOMMENDED" for the timestamp. Which is correct?

Section 3.1 repeats the payload header format in Figures 2, 3 and 5, with minor differences. A single copy is sufficient.

Section 3.1 talks about improving interoperability with RFC 3640, but doesn't explain how or why this is desirable. Suggest moving this to the new section on the "Relation to RFC 3640".

In Section 3.1.1, note that the 16 bit LEN field is in network byte order.

Section 3.1.2 (first bullet point) says "U, R and TYPE as defined above", but doesn't say where above. It also doesn't mention LEN.

Section 3.1.2, second bullet, third paragraph mentions that transport of sample descriptions out of band is "MANDATORY". This is not the right place to specify that - it confuses signalling with the details of the packet format. The capitalised term "MANDATORY" is not defined anywhere.

Section 3.1.2 (first paragraph on page 21) states that a maximum of 64 dynamic SIDX are allowed at any moment, but allows a range of 0-127. Suggest either allowing 127 active values, or reducing the allowable range, or adding an explanatory note to clarify.

In Section 3.1.2, SDUR has 3 bytes, since two bytes gives limited maximum duration. This will be true no matter what: is it appropriate to place a fixed maximum? Or to define a way in which event duration can be extended by a following packet to allow unlimited duration events?

Section 3.1.2 has an "example that illustrates how units of unknown duration MUST be presented". If there's a rule, it need to be defined explicitly, not by a single example.

Section 3.1.2 (top of page 22) says that "sample of unknown duration SHALL NOT use features, such as scrolling or karaoke, which require...". This is not sufficient: need a complete list of exclusions, otherwise there's the potential for confusion.

Section 3.1.2 (top of page 22) says that only TYPE 5 units can follow units of unknown duration otherwise it's not possible to calculate the timestamp. Which timestamp does that refer to? The RTP timestamp of the packet or that (implied) for the following unit? Please clarify.

Section 3.1.2 (last two bullets) explains that the TLEN is needed by the decoder to know where the modifiers in the payload start. It's not clear what this means: does the text string include modifier boxes? I thought TYPE 1 units transported text samples only, and that any modifiers would be part of a TYPE 5 unit later?

Similar comment for section 3.1.3, where SLEN indicates the size of the text string plus any modifier boxes. From the description earlier, it can be read that there are no modifiers and only text here?

These lead to a bigger question: lease clarify the contents of the payload. Is it a single logical block, with the headers giving pointers to sub-parts of the block? Or is it multiple logical blocks (some text, some modifiers) stacked after the headers in order?

Section 3.1.3 states that LEN MUST be greater than 9. What is the response to a packet where LEN <= 9? (similar comments apply for section 3.1.4, 3.1.5 and 3.1.6)

Section 3.1.3 what should a receiver do if it receives fragments with differing SLEN values?

Sections 3.1.3, 3.1.4 and 3.1.5, what should a receiver do if it receives units where THIS > TOTAL? Or if TOTAL = 0?

Please add some examples of complete RTP packets and their contents, for several combinations of unit types, including all the headers and data.

Section 6.1 (end of page 26) expand and reference "O/A exchange".

Section 7.1 states that a receiver MUST ignore any "unspecified" parameter. Can you clarify what this means? Did you intend to write "unrecognised"?

Section 7.1: the definition of the "rate" parameter duplicates that from section 3. Suggest referencing that definition, rather than trying to summarise it.

Section 7.1 defines a number of parameters as "16 bit integers" or as "16 bit unsigned integers". Does this mean that the parameters are in binary format? Or do you intend (as in the examples in section 8) that the decimal representation is used?

Section 8.1, last bullet point says that unknown parameters SHALL be ignored. Does this mean that they're not copied into the SDP (i.e. ignored by the device generating the SDP)? Or are they copied, but ignored by the device that later uses the SDP? Please clarify.

--
Colin Perkins
http://csperkins.org/


_______________________________________________ Audio/Video Transport Working Group avt at ietf.org https://www1.ietf.org/mailman/listinfo/avt