[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AVT] RE: AD questions on draft-ietf-avt-ulp
Hi Cullen,
Thanks for the question.
> Let's say all the payload packets each have 10 octets of content and
> we are protecting the full packet. I was thinking that F0 would also
> be 10 octets? And if level 1 as protecting full packet F1 would have
> 10 octets for the "0" protection and another 10 octets for the "1"
> protection. Do I have this right?
The data can only be protected at one level, according to the three
protection setting rules in Section 7.5 (above Figure 5). For example, if
the 10 octets are protected by level 0, it must not be protected by level 1
again. Putting two protections in the same packet is usually less than ideal
because both protections are lost at the same time if the packet they are in
is lost. In additional, signaling such complex protection schemes will need
a great deal of bits for info (such as number, offset, and length) for each
_protected_ data (instead of each _protecting_ data, or FEC data). Each
protecting data (or FEC data) is protecting a group of protected data.
According to the same rule set, the data may be protected by multiple
packets at the same level (this applies to baseline mode and level 0 of
extended mode). In the example you mentioned, it is illustrated in the
following:
P0: #####
P1: #####
F0: 00000 -> 00000 = P0 XOR P1
P2: #####
P3: #####
F1: 00000 -> 00000 = P0 XOR P1 XOR P2 XOR P3
Note that here P0 is protected by both F0 and F1. Also note, in this case F0
and F1 must have the same protection length at level 0 (this is also
specified in the rule set).
Adam
>
>
>
> On May 16, 2006, at 1:45 AM, Adam Li wrote:
>
> > Hi Cullen,
> >
> > Thanks for the comments. I would like to have a small clarification
> > on one
> > of the issues you raised. In your email:
> >
> >> I am unclear on what level of reconstruction is provided or what we
> >> are tying to do with the multiple levels. For example, take the
> >> example in figure 5. Here 8 payloads are sent and 7 payloads worth of
> >> parity bits are sent so we are sending nearly as much FEC data as
> >> original data and introducing significant decode latency. Yet if
> >> payload 0 and 1 are lost, it does not seem like they can be
> >> reconstructed. I hope I am wrong here - it seems like with this
> >> amount of bits allocated to FEC we should be apply to loose any 3
> >> packets and still recover all the data. Please help me understand.
> >> Can both 0 and 1 be recovered?
> >
> > Here is Figure 5 from the draft:
> >
> > Payload Packet # | FEC packet which protects at level
> > | 0 1 2
> > ---------------------+---------------------------------------
> > 0 | 0 1 3
> > 1 | 0 1 3
> > 2 | 1 1 3
> > 3 | 1 1 3
> > 4 | 2 3 3
> > 5 | 2 3 3
> > 6 | 3 3 3
> > 7 | 3 3 3
> >
> > Figure 5: An example of protection combination
> >
> > The detail is explained in the paragraphs following the figure in
> > the draft.
> > The scenario described is having 8 payload packets sent (as you
> > mentioned).
> >
> > However, there are only 4 FEC packets (not 7) protecting these 8
> > payload
> > packets. Further more, the overhead is not 4/8 but something smaller
> > (depending on settings as explained below).
> >
> > For simplicity, let's assume all the payload packets are of the
> > same size.
> > Then the above scenario can also be described with the following
> > diagram
> > similar to those used in the example section (P1 refers to payload
> > #1, F1
> > refers to FEC #1, and so on):
> >
> > P0: #############################################################
> > P1: #############################################################
> > F0: 00000000
> > P2: #############################################################
> > P3: #############################################################
> > F1: 00000000111111111111111
> > P4: #############################################################
> > P5: #############################################################
> > F2: 00000000
> > P6: #############################################################
> > P7: #############################################################
> > F3: 0000000011111111111111122222222222222222222222222222222222222
> >
> > The 0's are the protection level 0, 1's for level 1, and 2's for
> > level 2.
> > The overhead depends on the settings and packet sizes. For example,
> > if all
> > payload packets are the same length, and level 0 is 15% of the overall
> > length, the level 1 is 25% of the overall length, then the FEC to
> > payload
> > ratio is 1.7:8, or an overhead of 17.5%.
> >
> > Secondly, you are right that if both P0 and P1 are lost, they can
> > not be
> > recovered. That is 2 / 9.7 (or 20.7%) data lost. If the lost
> > packets are P0
> > and P2 instead, both of these can be recovered to level 0, or 15%
> > recovery
> > of the lost data in this case. If the lost packets are P0 and P4
> > instead,
> > then both of the lost packets can be recovered to level 1, or 40%
> > recovery
> > of the lost data in this case. This can be useful for the payload
> > where the
> > partial data can be used to reconstruct and conceal for most of the
> > less
> > important data that is un-recovered.
> >
> > Adam
_______________________________________________
Audio/Video Transport Working Group
avt at ietf.org
https://www1.ietf.org/mailman/listinfo/avt