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

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



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.

> - First of all, is this an RTP payload format draft or not? The draft
> seems
> to be defining that, yet, title does not say so, and the draft does not
> have
> the sections needed for defining a new payload format. See the > guidelines
> document.
> Frank=>This draft did not define a new payload format.
> This is negotiatable if RFC4588 can't be used directly.
> Some further  related response see below.

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.
For this specific RR, there packets are not RETRANSMITTED.
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

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

Preamble can also be regarded as a part of unicast RTP burst session.

They are part of the retransmission session, but as I said they are not formatted according to 4588 because they are not retransmission of anything.

> - Not surprisingly, there are similarities with our draft on the > subject.
> The motivation for your draft seems to be using the raw TS packets as
> Preamble, rather than generating a "summary" packet consisting of TLV
> elements. Do you need post processing on the packets you sent before
> feeding
> them to the demux? I suspect you do since you will be sending raw TS
> packets
> in an order that will likely upset the demux (i.e., CC discontinuity > will
> likely to occur).
> Frank=>We don't need post processing.   I am not sure what issue you are
> specifically referring to.  However, CC continuity can be obtained .

How? The raw TS packets you need will not necessarily be consecutive. If you
will have to keep redundant TS packets to keep the continuity, it will be
far less efficient. You can set the discontinuity flag but there are limits
on it.
Frank=>According to my understanding, it is only necessary to keep CC
continuity
for a given PID.   RS can easily chain the TSes with CC continuity.

I am not sure how you do this w/o getting RS to process the stream.
Frank=>All I want to say is RS can do this work on behalf of  RR.
RS has enough information and processing capability.

Setting the flag is also another alternative.

In some cases, yes, in other cases, no.

> From my perspective, we just move your post processing from RS to RR.
>
> Moreover, TLV encoding is way more efficient from a bandwidth > perspective.
> Most of the space in TS packets goes to padding because of the fixed
> 188-byte TS packet size anyway. So, to me TLV encoding is the way to go
> here.
> Frank=>Honestly, I don't bandwidth is issue.  Preamble is small size in
> volume
> comparing to vedieo traffic.  Compressing preamble does not make
> perceivable
> difference.

Preamble is small, correct. But the size of all TS packets making up the
Preamble is not.
Frank=>Just make a simple calculation. let's say preamble consists of 20
TSes which
has 20*188*8 bits. Assume unicast RTP burst last 3 seconds with 2M bandwith which is 3*2M bits in total. Preamble occupies around 0.5% of total unicast.
Am  I right?

If the burst is taking 3 seconds even with the preamble, something seems to be wrong here.
Frank=>Could you give me a right simple calculation?

> - Using a TLV also identifies each preamble element explicitly. This
> makes
> it easier for the RR to selectively use portions of the preamble for
> different tasks, e.g., priming system clock with PCR value. How do you
> deal
> with that?
> Frank=>You mean how to deal with PCR or some thing else?
> As for PCR issue for unicast RTP burst,
> we do have a solution
> http://tools.ietf.org/id/draft-yang-avt-rtp-synced-playback-00.txt.

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.

> - In our experience, we have seen with several settops that some
> manipulation of the preamble is either required or strongly beneficial.
> Consider repeating PATs/PMTs until the demux is initialized with them, > or
> delaying sending the ECM into the decoder for some time. W/o post
> processing
> and TLV encoding, this is hard to do.
> Frank=>The more specific is more understandable.  Our solution works in
> our
> experiment.
> Could you give us more information?

For example, you might feed the TS packets with the PAT/PMT/etc to the demux
but once they are gone, they are gone. In certain cases, having that info
readily available and using more than once may greatly help. In our
post-processing, we can do it. But, if you don't have post-processing, I
suspect you cannot do it or is at least more difficult.
Frank=>Our solution does not exclude any possible optimization in RR.
You can say your solution has such by-products. However, these by-products
are not the goal of the topic itself.

?? These "by-products" are possible because of the post processing we do at the receiver. And it is certainly within the scope of this problem.
Frank=>IMO, the scope is how the RR gets preamble.
"How to organize received preamble in RR for further processing"
is not within the scope.

If you believe it is in the scope, please define them for further discussion.
For me, the benefit of these by-products seems to be vague.


[snip]
> Any way,  identifying and analyzing preamble  is common processing
> for your and our solution.
>
> - Why do you use 4588 format for the Preamble packets? They are not
> retransmissions of earlier unmodified RTP packets, are they? Section 4.2
> says PSI RTP packets are newly generated. Thus they cannot be
> retransmissions of previous packets. How do you set the OSN fields?
> Frank=>We do treat Preamble packets as unicast burst.  In fact,
> draft-ietf-avt-rapid-acquisition-for-rtp-03 is using RETRANSMISSION > server
> for
> rapid acquisition.

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.

-acbegen