Skip to main content

Mapping RTP streams to CLUE media captures
draft-even-clue-rtp-mapping-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Author Roni Even
Last updated 2012-05-27
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-even-clue-rtp-mapping-02
CLUE WG                                                          R. Even
Internet-Draft                                       Huawei Technologies
Intended status: Standards Track                            May 27, 2012
Expires: November 28, 2012

               Mapping RTP streams to CLUE media captures
                   draft-even-clue-rtp-mapping-02.txt

Abstract

   This document describes mechanisms and recommended practice for
   mapping RTP media streams defined in SDP to CLUE media captures.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 28, 2012.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Even                    Expires November 28, 2012               [Page 1]
Internet-Draft             RTP mapping to CLUE                  May 2012

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Mapping CLUE Media Captures to RTP streams  . . . . . . . . . . 4
   4.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 8
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 8
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 9
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 9
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 9

Even                    Expires November 28, 2012               [Page 2]
Internet-Draft             RTP mapping to CLUE                  May 2012

1.  Introduction

   Telepresence systems can send and receive multiple media streams.
   The CLUE framework [I-D.ietf-clue-framework] defines media captures
   as a source of Media, such as from one or more Capture Devices.  A
   Media Capture (MC) may be the source of one or more Media streams.  A
   Media Capture may also be constructed from other Media streams.  A
   middle box can express Media Captures that it constructs from Media
   streams it receives.

   SIP offer answer [RFC3264] uses SDP [RFC4566] to describe the
   RTP[RFC3550] media streams.  Each RTP stream has a payload type
   number and SSRC.  The content of the RTP stream is created by the
   encoder in the endpoint.  This may be an original content from a
   camera or a content created by an intermediary device like an MCU.

   The Telepresence systems MUST work in point to point calls and
   multipoint calls when there is a central multipoint Control unit
   (MCU).  They should work in the RTP topologies defined in [RFC5117].
   There may be some topologies that do not scale well with SIP offer
   answer like Topo-Translator.  The assumption here is that when
   handling the RTP streams the MCU works using one of the other
   topologies Topo-Mixer, Topo-vide-switch-MCU or Topo-RTCP-Terminating-
   MCU.  The major difference between these topologies is on how RTCP
   and CSRC are conveyed and the issue of identifying the original
   source of the RTP streams need to be discussed.  Note that the Topo-
   RTCP-Terminating-MCU do not convey the CSRC information and needs
   some other means to identify the original source of the contributing
   RTP streams.

   The relation between the SDP and CLUE descriptions is that the CLUE
   media capture defined adds some semantics describing the content of
   an RTP stream and the relations between the streams that is not
   specified in SDP like spatial relation between the media captures
   with regards to the conference room.

   This document discusses the relation between the CLUE media captures
   and the RTP streams and makes recommendations on how to co-relate
   between the two.  It tries to use SDP attributes when possible in
   order to not duplicate information.

2.  Terminology

   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 RFC2119[RFC2119] and
   indicate requirement levels for compliant RTP implementations.

Even                    Expires November 28, 2012               [Page 3]
Internet-Draft             RTP mapping to CLUE                  May 2012

3.  Mapping CLUE Media Captures to RTP streams

   The SDP description of the RTP streams provides among others the
   information about the encoding and decoding capabilities of the media
   as well as transport addresses for receiving the RTP and RTCP streams
   and some channels capabilities like the maximum bandwidth available
   for the data.

   The CLUE MCs provide semantic information of the streams which may be
   its spatial information like left camera or on its content like
   loudest speaker.

   An RTP stream can have different content based on the MC description.
   For example one video capture from a camera may capture a third of
   the room while another from the same camera may provide a zoom
   version of the whole room.  These two media captures can be mapped to
   the same RTP stream and they are mutually exclusive using the same
   physical device.

   Note: In this case the same SSRC will be used for two MCs since they
   originate from the same source.  The consumer asking to switch
   between these two MCs may not be able to identify the switch based on
   the RTP information.  This may require the provider to acknowledge
   the request in order to let the consumer know that its request was
   accepted.

   Using the video capture example from the framework
   [I-D.ietf-clue-framework] document:

   o  VC0- (the camera-left camera stream, purpose=main, switched:no

   o  VC1- (the center camera stream, purpose=main, switched:no

   o  VC2- (the camera-right camera stream), purpose=main, switched:no

   o  VC3- (the loudest panel stream), purpose=main, switched:yes

   o  VC4- (the loudest panel stream with PiPs), purpose=main,
      composed=true; switched:yes

   o  VC5- (the zoomed out view of all people in the room),
      purpose=main, composed=no; switched:no

   o  VC6- (presentation stream), purpose=presentation, switched:no

   Where the physical simultaneity information is:

Even                    Expires November 28, 2012               [Page 4]
Internet-Draft             RTP mapping to CLUE                  May 2012

      {VC0, VC1, VC2, VC3, VC4, VC6}

      {VC0, VC2, VC5, VC6}

   To describe the above MCs Media Captures we need 6 RTP streams based
   on the first simultaneous entry.  The RTP stream used for VC1 is also
   the RTP stream for VC5 coming from the same camera, it may even use
   the same RTP payload type number since the only difference between
   the two is the view port.  This will mean that the mapping from a
   Media capture to an RTP stream is fixed.  The number of RTP streams
   defined in the SDP depends on the number of non mutually exclusive
   captures in the capture scene.

   The offer answer exchange should work with systems that do not
   support CLUE protocol or multiple streams.  It should also allow both
   sides to learn if CLUE is supported.  One approach is to have two
   stage negotiation offering a single audio and maybe also a single
   video that will allow a connection with media to be established.
   This exchange will also enable both sides to learn if CLUE is
   supported and start a second exchange that will list the available
   media streams.

   Note: If CLUE decides to mandate RTP multiplexing it will make sense
   to negotitate in the initial offer at least all SDP media streams in
   order allow for ICE [RFC5245] negotiation.

   Another approach is to use the same logic specified in the
   [I-D.ietf-mmusic-sdp-bundle-negotiation] which uses a new grouping
   attribute and allows offering of multiple media lines in the first
   offer.

   The proposal bellow can be used as the initial offer if using the
   bundle approach or for the second offer/answer exchange if using two
   stage negotitation.  It provides all the individual encoding
   information and specify the mapping between the SDP media lines and
   the different CLUE media captures.

   The example bellow uses a separate UDP port for each m-line but
   multiplexing grouping as specified in
   [I-D.ietf-mmusic-sdp-bundle-negotiation] can be applied here.

   This mapping can be done by defining a new [RFC5888] grouping
   attribute CaptureId and a new CLUE MC attribute RTP-id.

   The above example will have the following SDP

Even                    Expires November 28, 2012               [Page 5]
Internet-Draft             RTP mapping to CLUE                  May 2012

         b=AS:10000

         a=group:captureId 1 2 3 4 5 6

         m=video 49170 RTP/AVP 96

         a=rtpmap:96 H264/90000

         a=fmtp:96 profile-level-id=42A01E; //Baseline profile, Level
         3.0

         mid=1

         b=TIAS:2000000

         m=video 49172 RTP/AVP 96

         a=rtpmap:96 H264/90000

         a=fmtp:96 profile-level-id=42A01E; //Baseline profile, Level
         3.0

         mid=2

         b=TIAS:2000000

         m=video 49174 RTP/AVP 96

         a=rtpmap:96 H264/90000

         a=fmtp:96 profile-level-id=42A01E; //Baseline profile, Level
         3.0

         mid=3

         b=TIAS:2000000

         m=video 49176 RTP/AVP 96

         a=rtpmap:96 H264/90000

         a=fmtp:96 profile-level-id=42A01E; //Baseline profile, Level
         3.0

         mid=4

         b=TIAS:2000000

Even                    Expires November 28, 2012               [Page 6]
Internet-Draft             RTP mapping to CLUE                  May 2012

         m=video 49178 RTP/AVP 96

         a=rtpmap:96 H264/90000

         a=fmtp:96 profile-level-id=42A01E; //Baseline profile, Level
         3.0

         mid=5

         b=TIAS:2000000

         m=video 49180 RTP/AVP 96

         a=rtpmap:96 H264/90000

         a=fmtp:96 profile-level-id=42A01E; //Baseline profile, Level
         3.0

         mid=6

         b=TIAS:2000000

   There is a need for a new MC attribute RTPid which will have the mid
   of the related RTP stream

   o  VC0- (the camera-left camera stream, purpose=main, switched:no,
      RTPid=1

   o  VC1- (the center camera stream, purpose=main, switched:no, RTPid=2

   o  VC2- (the camera-right camera stream), purpose=main, switched:no,
      RTPid=3

   o  VC3- (the loudest panel stream), purpose=main, switched:yes,
      RTPid=4

   o  VC4- (the loudest panel stream with PiPs), purpose=main,
      composed=true; switched:yes, RTPid=5

   o  VC5- (the zoomed out view of all people in the room),
      purpose=main, composed=no; switched:no, RTPid=2

   o  VC6- (presentation stream), purpose=presentation, switched:no,
      RTPid=6

   There was a concern about the size of SDP or CLUE messages if the MCU
   will advertise the roster information.  This is not the current
   approach defined in IETF work.  The assumption is that the MCU

Even                    Expires November 28, 2012               [Page 7]
Internet-Draft             RTP mapping to CLUE                  May 2012

   advertises a set of virtual MCs and provide the content of the MC
   based on the multipoint application logic.  The roster information is
   provided by other means like XCON conference event package enabling
   the conference participants to use this information to select a new
   source from a new participant.  Still the assumption is that the MCU
   acting will create the RTP stream using his own SSRC.

   Note that for the video switch MCU the SDP SSRC attribute can be used
   to provide the information about the different sources, an example is
   in [RFC6184] section 8.3, this solution does not scale when there are
   many participants since the SDP may grow big and it will be better in
   this case to use the XCON conference event package that supports
   partial updates.

   The offer is for H.264 [RFC6184] profile level 3.  The level ID
   specifies the maximum encoding and decoding capabilities of the H.264
   codec like the max macroblocks process rate, max frame size.  The
   max-mbps, max-smbps, max-fs, max-cpb, max-dpb, and max-br parameters
   are used to signal the receiver implementation.  The level ID is used
   to convey also the maximum encoding capability.  [RFC6184] does not
   provide the means to override specific level parameters for the
   encoder side; it only allows the decoder to ask for a specific
   configuration.

   [RFC6236] a generic session setup attribute that make it possible to
   negotiate the image attributes like frame size and aspect ratio.

   The bandwidth parameters can be used to specify the maximum session
   bandwidth as well as the maximum bandwidth for individual streams.

4.  Acknowledgements

   place holder

5.  IANA Considerations

   TBD

6.  Security Considerations

   TBD.

7.  References

Even                    Expires November 28, 2012               [Page 8]
Internet-Draft             RTP mapping to CLUE                  May 2012

7.1.  Normative References

   [I-D.ietf-clue-framework]
              Romanow, A., Duckworth, M., Pepperell, A., and B. Baldino,
              "Framework for Telepresence Multi-Streams",
              draft-ietf-clue-framework-05 (work in progress),
              February 2012.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

7.2.  Informative References

   [I-D.ietf-mmusic-sdp-bundle-negotiation]
              Holmberg, C. and H. Alvestrand, "Multiplexing Negotiation
              Using Session Description Protocol (SDP) Port Numbers",
              draft-ietf-mmusic-sdp-bundle-negotiation-00 (work in
              progress), February 2012.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              June 2002.

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, July 2003.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

   [RFC5117]  Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
              January 2008.

   [RFC5888]  Camarillo, G. and H. Schulzrinne, "The Session Description
              Protocol (SDP) Grouping Framework", RFC 5888, June 2010.

   [RFC6184]  Wang, Y., Even, R., Kristensen, T., and R. Jesup, "RTP
              Payload Format for H.264 Video", RFC 6184, May 2011.

   [RFC6236]  Johansson, I. and K. Jung, "Negotiation of Generic Image
              Attributes in the Session Description Protocol (SDP)",
              RFC 6236, May 2011.

Even                    Expires November 28, 2012               [Page 9]
Internet-Draft             RTP mapping to CLUE                  May 2012

Author's Address

   Roni Even
   Huawei Technologies
   Tel Aviv,
   Israel

   Email: even.roni@huawei.com

Even                    Expires November 28, 2012              [Page 10]