draft-ietf-avtext-lrr-04.txt   draft-ietf-avtext-lrr-05.txt 
Payload Working Group J. Lennox Payload Working Group J. Lennox
Internet-Draft D. Hong Internet-Draft D. Hong
Intended status: Standards Track Vidyo Intended status: Standards Track Vidyo
Expires: October 12, 2017 J. Uberti Expires: November 9, 2017 J. Uberti
S. Holmer S. Holmer
M. Flodman M. Flodman
Google Google
April 10, 2017 May 8, 2017
The Layer Refresh Request (LRR) RTCP Feedback Message The Layer Refresh Request (LRR) RTCP Feedback Message
draft-ietf-avtext-lrr-04 draft-ietf-avtext-lrr-05
Abstract Abstract
This memo describes the RTCP Payload-Specific Feedback Message "Layer This memo describes the RTCP Payload-Specific Feedback Message "Layer
Refresh Request" (LRR), which can be used to request a state refresh Refresh Request" (LRR), which can be used to request a state refresh
of one or more substreams of a layered media stream. It also defines of one or more substreams of a layered media stream. It also defines
its use with several RTP payloads for scalable media formats. its use with several RTP payloads for scalable media formats.
Status of This Memo Status of This Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 12, 2017. This Internet-Draft will expire on November 9, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 15 skipping to change at page 2, line 15
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions, Definitions and Acronyms . . . . . . . . . . . . 2 2. Conventions, Definitions and Acronyms . . . . . . . . . . . . 2
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
3. Layer Refresh Request . . . . . . . . . . . . . . . . . . . . 5 3. Layer Refresh Request . . . . . . . . . . . . . . . . . . . . 5
3.1. Message Format . . . . . . . . . . . . . . . . . . . . . 5 3.1. Message Format . . . . . . . . . . . . . . . . . . . . . 5
3.2. Semantics . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2. Semantics . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Usage with specific codecs . . . . . . . . . . . . . . . . . 7 4. Usage with specific codecs . . . . . . . . . . . . . . . . . 7
4.1. H264 SVC . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. H264 SVC . . . . . . . . . . . . . . . . . . . . . . . . 7
4.2. VP8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2. VP8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3. H265 . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3. H265 . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5. Usage with different scalability transmission mechanisms . . 10 5. Usage with different scalability transmission mechanisms . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10
7. SDP Definitions . . . . . . . . . . . . . . . . . . . . . . . 11 7. SDP Definitions . . . . . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Normative References . . . . . . . . . . . . . . . . . . 12 9.1. Normative References . . . . . . . . . . . . . . . . . . 11
9.2. Informative References . . . . . . . . . . . . . . . . . 13 9.2. Informative References . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
This memo describes an RTCP [RFC3550] Payload-Specific Feedback This memo describes an RTCP [RFC3550] Payload-Specific Feedback
Message [RFC4585] "Layer Refresh Request" (LRR). It is designed to Message [RFC4585] "Layer Refresh Request" (LRR). It is designed to
allow a receiver of a layered media stream to request that one or allow a receiver of a layered media stream to request that one or
more of its substreams be refreshed, such that it can then be decoded more of its substreams be refreshed, such that it can then be decoded
by an endpoint which previously was not receiving those layers, by an endpoint which previously was not receiving those layers,
without requiring that the entire stream be refreshed (as it would be without requiring that the entire stream be refreshed (as it would be
skipping to change at page 3, line 36 skipping to change at page 3, line 36
An illustration of spatial layer refresh of an enhancement layer is An illustration of spatial layer refresh of an enhancement layer is
shown below. shown below.
... <-- S1 <-- S1 S1 <-- S1 <-- ... ... <-- S1 <-- S1 S1 <-- S1 <-- ...
| | | | | | | |
\/ \/ \/ \/ \/ \/ \/ \/
... <-- S0 <-- S0 <-- S0 <-- S0 <-- ... ... <-- S0 <-- S0 <-- S0 <-- S0 <-- ...
1 2 3 4 1 2 3 4
In this illustration, frame 3 is a layer refresh point for spatial
layer S1; a decoder which had previously only been decoding spatial
layer S0 would be able to decode layer S1 starting at frame 3.
Figure 1 Figure 1
In Figure 1, frame 3 is a layer refresh point for spatial layer S1; a
decoder which had previously only been decoding spatial layer S0
would be able to decode layer S1 starting at frame 3.
An illustration of spatial layer refresh of a base layer is shown An illustration of spatial layer refresh of a base layer is shown
below. below.
... <-- S1 <-- S1 <-- S1 <-- S1 <-- ... ... <-- S1 <-- S1 <-- S1 <-- S1 <-- ...
| | | | | | | |
\/ \/ \/ \/ \/ \/ \/ \/
... <-- S0 <-- S0 S0 <-- S0 <-- ... ... <-- S0 <-- S0 S0 <-- S0 <-- ...
1 2 3 4 1 2 3 4
In this illustration, frame 3 is a layer refresh point for spatial
layer S0; a decoder which had previously not been decoding the stream
at all could decode layer S0 starting at frame 3.
Figure 2 Figure 2
In Figure 2, frame 3 is a layer refresh point for spatial layer S0; a
decoder which had previously not been decoding the stream at all
could decode layer S0 starting at frame 3.
For temporal layers, layer refresh requires that the layer be For temporal layers, layer refresh requires that the layer be
"temporally nested", i.e. use as reference only earlier frames of a "temporally nested", i.e. use as reference only earlier frames of a
lower temporal layer, not any earlier frames of this temporal layer, lower temporal layer, not any earlier frames of this temporal layer,
and also promise that no future frames of this temporal layer will and also promise that no future frames of this temporal layer will
reference frames of this temporal layer before the refresh point. In reference frames of this temporal layer before the refresh point. In
many cases, the temporal structure of the stream will mean that all many cases, the temporal structure of the stream will mean that all
frames are temporally nested, in which case decoders will have no frames are temporally nested, in which case decoders will have no
need to send LRR messages for the stream. need to send LRR messages for the stream.
An illustration of temporal layer refresh is shown below. An illustration of temporal layer refresh is shown below.
... <----- T1 <------ T1 T1 <------ ... ... <----- T1 <------ T1 T1 <------ ...
/ / / / / /
|_ |_ |_ |_ |_ |_
... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... ... <-- T0 <------ T0 <------ T0 <------ T0 <--- ...
1 2 3 4 5 6 7 1 2 3 4 5 6 7
In this illustration, frame 6 is a layer refresh point for temporal
layer T1; a decoder which had previously only been decoding temporal
layer T0 would be able to decode layer T1 starting at frame 6.
Figure 3 Figure 3
In Figure 3, frame 6 is a layer refresh point for temporal layer T1;
a decoder which had previously only been decoding temporal layer T0
would be able to decode layer T1 starting at frame 6.
An illustration of an inherently temporally nested stream is shown An illustration of an inherently temporally nested stream is shown
below. below.
T1 T1 T1 T1 T1 T1
/ / / / / /
|_ |_ |_ |_ |_ |_
... <-- T0 <------ T0 <------ T0 <------ T0 <--- ... ... <-- T0 <------ T0 <------ T0 <------ T0 <--- ...
1 2 3 4 5 6 7 1 2 3 4 5 6 7
In this illustration, the stream is temporally nested in its ordinary Figure 4
In Figure 4, the stream is temporally nested in its ordinary
structure; a decoder receiving layer T0 can begin decoding layer T1 structure; a decoder receiving layer T0 can begin decoding layer T1
at any point. at any point.
Figure 4
3. Layer Refresh Request 3. Layer Refresh Request
A layer refresh frame can be requested by sending a Layer Refresh A layer refresh frame can be requested by sending a Layer Refresh
Request (LRR), which is an RTCP payload-specific feedback message Request (LRR), which is an Real-Time Transport Control Protocol
[RFC4585] asking the encoder to encode a frame which makes it (RTCP) [RFC3550] payload-specific feedback message [RFC4585] asking
possible to upgrade to a higher layer. The LRR contains one or two the encoder to encode a frame which makes it possible to upgrade to a
tuples, indicating the layer the decoder wants to upgrade to, and higher layer. The LRR contains one or two tuples, indicating the
(optionally) the currently highest layer the decoder can decode. layer the decoder wants to upgrade to, and (optionally) the currently
highest layer the decoder can decode.
The specific format of the tuples, and the mechanism by which a The specific format of the tuples, and the mechanism by which a
receiver recognizes a refresh frame, is codec-dependent. Usage for receiver recognizes a refresh frame, is codec-dependent. Usage for
several codecs is discussed in Section 4. several codecs is discussed in Section 4.
LRR follows the model of the Full Intra Request (FIR) LRR follows the model of the Full Intra Request (FIR)
[RFC5104](Section 3.5.1) for its retransmission, reliability, and use [RFC5104](Section 3.5.1) for its retransmission, reliability, and use
in multipoint conferences. in multipoint conferences.
The LRR message is identified by RTCP packet type value PT=PSFB and The LRR message is identified by RTCP packet type value PT=PSFB and
FMT=TBD. The FCI field MUST contain one or more LRR entries. Each FMT=TBD. The FCI field MUST contain one or more LRR entries. Each
entry applies to a different media sender, identified by its SSRC. entry applies to a different media sender, identified by its SSRC.
[NOTE TO RFC Editor: Please replace "TBD" with the IANA-assigned
payload-specific feedback number.]
3.1. Message Format 3.1. Message Format
The Feedback Control Information (FCI) for the Layer Refresh Request The Feedback Control Information (FCI) for the Layer Refresh Request
consists of one or more FCI entries, the content of which is depicted consists of one or more FCI entries, the content of which is depicted
in Figure 5. The length of the LRR feedback message MUST be set to in Figure 5. The length of the LRR feedback message MUST be set to
2+3*N, where N is the number of FCI entries. 2+3*N, where N is the number of FCI entries.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 6, line 42 skipping to change at page 6, line 27
Payload Type (7 bits) The RTP payload type for which the LRR is Payload Type (7 bits) The RTP payload type for which the LRR is
being requested. This gives the context in which the target layer being requested. This gives the context in which the target layer
index is to be interpreted. index is to be interpreted.
Reserved (RES) (16 bits / 5 bits / 5 bits) All bits SHALL be set to Reserved (RES) (16 bits / 5 bits / 5 bits) All bits SHALL be set to
0 by the sender and SHALL be ignored on reception. 0 by the sender and SHALL be ignored on reception.
Target Temporal Layer ID (TTID) (3 bits) The temporal ID of the Target Temporal Layer ID (TTID) (3 bits) The temporal ID of the
target layer for which the receiver wishes a refresh point. target layer for which the receiver wishes a refresh point.
Target Layer ID (TLID) (8 bits) The layer ID of the target layer for Target Layer ID (TLID) (8 bits) The layer ID of the target spatial
which the receiver wishes a refresh point. Its format is or quality layer for which the receiver wishes a refresh point.
dependent on the payload type field. Its format is dependent on the payload type field.
Current Temporal Layer ID (CTID) (3 bits) If C is 1, the ID of the Current Temporal Layer ID (CTID) (3 bits) If C is 1, the ID of the
current temporal layer being decoded by the receiver. This current temporal layer being decoded by the receiver. This
message is not requesting refresh of layers at or below this message is not requesting refresh of layers at or below this
layer. If C is 0, this field SHALL be set to 0 by the sender and layer. If C is 0, this field SHALL be set to 0 by the sender and
SHALL be ignored on reception. SHALL be ignored on reception.
Current Layer ID (CLID) (8 bits) If C is 1, the layer ID of the Current Layer ID (CLID) (8 bits) If C is 1, the layer ID of the
current layer being decoded by the receiver. This message is not current spatial or quality layer being decoded by the receiver.
requesting refresh of layers at or below this layer. If C is 0, This message is not requesting refresh of layers at or below this
this field SHALL be set to 0 by the sender and SHALL be ignored on layer. If C is 0, this field SHALL be set to 0 by the sender and
reception. SHALL be ignored on reception.
Note: the syntax of the TTID, TLID, CTID, and TLID fields are Note: the syntax of the TTID, TLID, CTID, and CLID fields match, by
designed to match the TID and LID fields in design, the TID and LID fields in [I-D.ietf-avtext-framemarking].
[I-D.ietf-avtext-framemarking].
3.2. Semantics 3.2. Semantics
Within the common packet header for feedback messages (as defined in Within the common packet header for feedback messages (as defined in
section 6.1 of [RFC4585]), the "SSRC of packet sender" field section 6.1 of [RFC4585]), the "SSRC of packet sender" field
indicates the source of the request, and the "SSRC of media source" indicates the source of the request, and the "SSRC of media source"
is not used and SHALL be set to 0. The SSRCs of the media senders to is not used and SHALL be set to 0. The SSRCs of the media senders to
which the LRR command applies are in the corresponding FCI entries. which the LRR command applies are in the corresponding FCI entries.
A LRR message MAY contain requests to multiple media senders, using A LRR message MAY contain requests to multiple media senders, using
one FCI entry per target media sender. one FCI entry per target media sender.
Upon reception of LRR, the encoder MUST send a decoder refresh point Upon reception of LRR, the encoder MUST send a decoder refresh point
(see section Section 2.1) as soon as possible. (see section Section 2.1) as soon as possible.
The sender MUST consider congestion control as outlined in section 5 The sender MUST consider congestion control as outlined in section 5
of [RFC5104], which MAY restrict its ability to send a layer refresh of [RFC5104], which MAY restrict its ability to send a layer refresh
point quickly. point quickly.
 End of changes. 22 change blocks. 
41 lines changed or deleted 45 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/