Source FEC Payload
Mapping Information for Sequence Flow
draft-zixuan-fecframe-source-mi-00.txt
IETF#75, July 2009, Stockholm
Introduction
|
|
|
|
To indicate the position of
source packet in a source block. |
|
To group source and repair
packets into source block. |
|
The FEC Framework
[I-D.ietf-fecframe-framework] describes a Generic Explicit Source FEC Payload
Id to arbitrary packet flows. |
|
A FEC-Framework-incompatible
client would fail to understand the
source packet with FEC payload ID included. |
|
Considering backward
compatibility by not changing the source packet format, a possible way to
follow is to transmit the source FEC
payload IDs in separate packets. |
|
This draft specifies a FEC
payload header and a source FEC payload mapping information unit (MIU). |
Packet format for source
FEC payload MIU
FEC payload header format
|
|
|
fec_id (8 bits): This field
identifies the FEC scheme used for FEC protection. The FEC scheme identified
by this field determines the content of source FEC payload ID and FEC repair
packet carried by FEC payload. |
|
PT (8 bits): PT (Payload Type)
field indicates the FEC payload type. If PT is set to 1, it indicates that
the FEC payload is source FEC payload ID. If PT is set to 2, it indicates
that FEC payload is repair packet. |
|
reserved (16 bits): reserved
for future use. |
The source FEC payload
MIU format
|
|
|
flow_id (4 bits): This field
identifies the source packet flow to which FEC protection is applied. |
|
length (12 bits): This field
indicates the number of source FEC payload ID involved in a source FEC
payload MIU. |
|
Initial_seq_number (16 bits):
This field indicates the sequence number of the starting source packet with
respect to flow_id of a source block. The starting source packet belongs to
the source packet flow identified by flow_id field. |
|
Source_FEC_Payload_ID (Variable
Length): This field is identical to “Source FEC Payload ID” defined in
draft-ietf-fecframe-framework-05. The field size is dependent upon the FEC
scheme identified by fec_id field in FEC payload header. This field in conjunction
with initial_seq_number determines which source block a FEC source packet
belongs to and the position of a FEC source packet in the FEC source block. |
MIU Example
|
|
|
A MIU example is shown in
Figure, where compact no-code FEC scheme is used to protect two flows. The
flow_id of protected flows are 1 and 2 respectively. |
The repair packet format
|
|
|
The repair FEC payload ID shall
be in accordance with [I-D.ietf-fecframe-framework]. |
Multiplexing
|
|
|
|
There are several ways of multiplexing |
|
Session multiplexing, where
repair streams and the source MIU are in different session (different dest
address/port). |
|
PT multiplexing, where repair
streams and the source MIU have different PT in FEC payload header but are
transmitted in the same session. |
|
SSRC multiplexing ,where repair
streams and the source MIU have different SSRC but are transmitted in the
same RTP session. |
|
|
|
|
Reliability
|
|
|
|
To improve reliability |
|
multiple-copy of the MIU |
|
Interleaved sending arrangement |
Conclusion
|
|
|
|
Keeping the source packets
unchanged is advisable |
|
backward compatibility |
|
PT multiplexing |
|
MIU and repair packets can
be transmitted in the same multicast
group |
|
MIU is Interleaved with repair
packets |
|
MIU and repair packets can be
received at the same time ,it means that there is not additive latency. |