80 likes | 96 Views
Learn about the 3GPP FEC Framework architecture for content delivery protocols, source block construction, FEC streaming, and UDP encoding/decoding. Understand FEC encoding rules and signaling requirements for IP streaming applications.
E N D
IETF#66 – 10-14 July 2006FECFRAMEOverview of 3GPP FEC Framework Mark Watson
Architecture Content Delivery Protocol Definition of flows to be protected and flow to carry protection data Rules/indications for source data partitioning/timing Application Application/Transport protocols (RTP, RTCP, MIKEY etc.) Construction of source block from source data Mapping of source and repair symbols into FEC source and FEC repair packets FEC Streaming Framework FEC Scheme UDP Provides encoding and decoding of FEC data. Defines signaling requirements (Object Transmission Information, FEC Payload IDs) IP
FEC Streaming Configuration Information • “One-off” information provided by application to FEC Streaming Framework at encoder and decoder • Defines: • The set of source UDP flows to be protected • The UDP flow that will carry the repair data • FEC Encoding ID to identify the FEC code in use • 3GPP defines SDP attributes for applications to signal this information
Source Block construction • FEC codes calculated over a logical ‘source block’ • Source Block consists of concatenated ‘source packet information’ (SPI) for each packet in the block • Arrangement of packets into blocks is out of scope • Common example is based on time – source blocks all have approximately the same playout duration (“protection period”) • Source Packet Information consists of • UDP flow identifier (1 byte) • UDP Packet Length (2 bytes) • UDP Payload • Padding bytes • SPI always starts on an FEC Symbol Boundary within the source block (symbols can be any size, but within a source block they are all the same size) • FEC framework adds/removes padding to symbol boundaries at encoder and decoder
Source Packet Tagging • Source Packets are tagged with an FEC Payload ID, indicating • The source block number for the packet • The source symbol the SPI for the packet starts at • FEC Payload ID field defined by FEC Scheme and appended to the packet by the FEC Streaming Framework • Note that FECFRAME may support other ways of identifying source packets in specific contexts e.g. RTP Sequence Number – FEC Schemes can specify different ways
Source packet format IP header UDP header UDP payload FEC Payload ID FEC Payload ID placed at end of packet so that ROHC will still compress RTP headers in the case of RTP packets.
Repair packets • Repair packets contain FEC repair symbols • FEC Payload ID in repair packets identifies the repair symbols • Format of this field defined by FEC Schemes
Repair packet format IP header UDP header FEC Payload ID FEC Symbols