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

Re: [AVT] new draft on MPEG-TS preamble acquisition



Couple of quick comments - sorry to be jumping into the middle.

On Oct 23, 2009, at 8:37 AM, Frank Xia wrote:

Hi Ali

Thanks for your patience.
Please also check the inline response.

BR
Frank

----- Original Message ----- From: "Ali C. Begen (abegen)" <abegen at cisco.com >
To: "Frank Xia" <xiayangsong at huawei.com>; <avt at ietf.org>
Sent: Thursday, October 22, 2009 10:18 PM
Subject: RE: new draft on MPEG-TS preamble acquisition


Snipping off the redundant text.

You are carrying something in RTP, so one way or another, you are defining a new payload format. As I mentioned earlier, usage of 4588 does not seem to
be correct here.
Frank=>Good point. However, I still believe it is make sense to reuse
4588.
draft-ietf-avt-rapid-acquisition-for-rtp uses 4588 for unicast RTP burst
which are not RETRANSMISSION packets as to the RR.

I believe you are confused here. Burst packets are "retransmission" packets - totally in accordance with RFC 4588. They are retransmissions of earlier RTP packets sent in the primary multicast stream. And the receiver considers them as retransmission packets.
Frank=>They are not retransmission packets.
In rapid acquistion (e.g fast channel change),
these packets are never sent to the RR before.
Sure they were. It's just that the RR wasn't listening!

For this specific RR, there packets are not RETRANSMITTED.
The notion of "for this specific RR" is not well-defined when you are mixing unicast and multicast as we are in RAMS. For example, check the DVB specifications, which use multicast retransmission as well as unicast.

Here is a brief procedure of fast channel change to faciliate discussion.
1)A RR requests a new channel
2)A RS  sends bufferred packets related to the channel to the RR
3)The RR receives the packets

You're glossing over the key/hardest part, which is how manage the switchover from unicast to multicast. If all we cared about was unicast, we would not be bothering with any of this. You'd just use VoD.

By the way,  RS is designed for a RR to request a specific
SN of RTP packet because the packet is presumably lost.

right, which is why RAMS is slightly different in the control plane from retransmission. The beauty of the overall approach we're taking is that the data plane, once the decoder is primed, can be identical from RAMS and regular transmission.


The above draft does not address my question. And PCR was just an example.
Different TLVs are often needed for different things to speed up the
acquisition.
Frank=>Could you make it more specific?

As I mentioned earlier, some portions of the Preamble data may be used more than once. TLV gives us that flexibility.
Frank=>Flexibility and Complexity.
The minute you have to "reach into" the MPEGTS data stream and parse/ extract stuff, the rest is easy by comparison. As Ali has said, the advantage of TLV is that you don't have to mess with extracting taking a subset of a TS, re-constructing a legal mux (including CC and the rest) and sending as if it were RFC2550-compliant. I'd like to understand why you think TLVs are more complex than all that stuff.


The preamble packets are sent in the same retransmission session with the burst packets. But, that does not mean that they are 4588-formatted packets. Actually they cannot be since they are not the retransmissions of other RTP packets. In a typical RTP packet, there are 7 TS packets. I cannot get a few
of those TS packets and send them as retransmission packets since the
resulting RTP packet is a different packet now.
Frank=>On the contrary, I believe we can get a few of those TS packets and send them to the new joining RR. This is a part of rapid acquistion
processing.    The new joining RR can't tell any difference.

Either you are misusing 4588 or sending every whole RTP packet that carries a TS packet needed for your preamble (which might be OK from 4588 viewpoint but as I said will be pretty inefficient). Or, I am totally missing how you
are doing it.
Frank=>Your understanding is accurate. We implemented both and selectively
proposed the former because we believe the two are similar.  As for
efficiency,
I gave you a brief calculation, and you can check.

If you are doing the former (i.e., sending only the necessary TS packets in 4588 format after ripping off the redundant ones), it is misusing the RFC 4588 because you are modifying the source packets. I don't know why you do it or need it.

If you were doing the latter, the calculation given above would be incorrect anyway (you need to take the whole RTP packet sizes into account).

The bottom line is one way or another the Retransmission Server needs to continuously parse and extract the required "Preamble" data in the incoming primary multicast stream(s). Once it does that, putting the Preamble in the format we defined by using the TLV elements is not a big deal (not more difficult than keeping the raw TS packets and trying to put them in the right order). But, doing that provides a lot of benefits.
Frank=>I never question the advantages of your solution.  Our
motivation is just to keep RR simple. In fact, there are no big difference between yours and ours. All what we do is offloading some processing from
RR to RS.

Without arguing about whether moving the processing from the RR to the RS is a good tradeoff, I would like to caution you to make sure what you are doing will work with the current (and legacy) crop of STB data- plane/decoder implementations - without getting into details we have evidence from real boxes that there are problems.

Cheers, DaveO.


-acbegen

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