]>
Frame Priority Marking RTP Header ExtensionHuawei TechnologiesTel AvivIsraelRoni.even@huawei.comHuawei TechnologiesHod HasharonIsraelofer.idan@huawei.comART
AVTCoreI-DInternet-DraftXMLExtensible Markup LanguageThis document updates the Frame Marking RTP header extension in draft-ietf-avtext-framemarking-06 used to
convey information about video frames that is critical for error recovery and packet forwarding in RTP middle-boxes or network nodes. The flags for frame marking for non-scalable streams include the D bit to mark a frame that can be discarded, and still provide a decodable media stream. There is also the I bit for frames that can be decoded independent of prior frames, e.g. intra-frame.This memo adds priority values for the non-scalable streams discardable frames
Frame Marking RTP Header Extension provides a single bit for marking frames that may be discarded by a middle box for non-scalable streams.
Having one bit for marking a discardable frame provides the same information to a middle box that need to drop few frames or many frames. An encoder may want to mark multiple frames as discardable but with different drop priority, allowing the middle box to discard part or all the discardable frames. The middle box can use the priority information for deciding which frames to drop. By monitoring the RTP stream and the frame marking a middle box can estimate how many RTP packets are in each priority and use this information for the dropping decision.A video stream is composed of Group of Pictures (GOP) where the GOP includes I,P and B frames. A GOP is typically bound by I frames and is 15-30,60 frames long but can vary with frame rate, content complexity and encoder implementation. There are a couple of use cases that can benefit if discard priority is available. When there are contiguous non referenced B frames dropping all of them will reduce the actual frame rate. By providing different priority to each of these B frames the middle box can affect the actual frame rate. This information can be also deducted based on the number of contiguous frames but having priority will make it easier for the middle box for example when the frames are interleaved.When there are referenced B frames, for example a non referenced B frame (B1) followed by a B frame (B2) referenced by B1 only. If B1 is dropped then B2 can be dropped too. By using priority B1 can have lower priority than B2.Dropping a P frame that is close to the end of the GOP is also possible comparing to a P frame in the beginning of the GOP. The encoder can know when such P frame exist and mark is as discardable with lowest priority.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
and "OPTIONAL" in this document are to be interpreted as
described in .This memo adds two P bits to the RTP header extension defined in section 3.1.RTP Header Extension for non-scalable streams:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID=? | L=0 |S|E|I|D|P P 0 0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
P: Priority bits (2 bits). If the D bit is set to zero these bits MUST be zero. If the D bit is set to 1 the values 00 is the highest drop priority (this will be the case when priority is not specified) and 11 is the lowest drop priority.The priority bits apply to a single RTP stream and a middle box MUST NOT use this information to compare discardable frames from different RTP streams.Based on the use cases from the introduction, the priority of the non referenced B frame will be 00, the priority of the referenced B frames will be 01 and the priority of the discardable P frame will be 10. If the middle box drops the frames marked with priority 00 it can now drop the frames marked with priority 01 since they are not needed for decoding the stream.
There are no IANA actions
This memo does not add any security information to the ones in
&RFC2119;
Frame Marking RTP Header Extension
This document describes a Frame Marking RTP header extension used to convey information about video frames that is critical for error recovery and packet forwarding in RTP middleboxes or network nodes. It is most useful when media is encrypted, and essential when the middlebox or node has no access to the media decryption keys. It is also useful for codec-agnostic processing of encrypted or unencrypted media, while it also supports extensions for codec-specific information.