Internet DRAFT - draft-guenkova-mmusic-mpeg21-sdpng

draft-guenkova-mmusic-mpeg21-sdpng




IETF MMUSIC WG                                      T. Guenkova-Luy 
Internet-Draft                                      A. Schorr
Expires: August 11, 2005                            F. Hauck
                                                    University of Ulm

                                                    A. Kassler
                                                    Karlstad 
                                                    University

                                                    I. Wolf
                                                    B. Feiten
                                                    T-Systems 
                                                    International    

                                                    C. Timmerer
                                                    Klagenfurt 
                                                    University

                                                    Willem Romijn
                                                    Lucent 
                                                    Technologies

                                                    February 11, 2005



  Harmonization of Session and Capability Descriptions between SDPng  
                   and MPEG-21 Digital Item Adaptation 
                  draft-guenkova-mmusic-mpeg21-sdpng-00
 


Status of this Memo


By submitting this Internet-Draft, the authors certify that any 
applicable patent or other IPR claims of which the authors are aware 
have been disclosed, or will be disclosed, and any of which the 
authors become aware will be disclosed, in accordance with RFC 3668.

Internet-Drafts are working documents of the Internet Engineering 
Task Force (IETF), its areas, and its working groups.  Note that 
other groups may also distribute working documents as Internet-
Drafts.

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."

The list of current Internet-Drafts can be accessed at 
http://www.ietf.org/1id-abstracts.html

The list of Internet-Draft Shadow Directories can be accessed at 

Guenkova, et al.         Expires August 11, 2005            [Page  1]


Internet-Draft               MPEG21 SDPng              February 2005


http://www.ietf.org/shadow.html

This document is a submission of the IETF MMUSIC WG. Comments should 
be directed to the MMUSIC WG mailing list, mmusic@ietf.org.

This Internet-Draft will expire on August 11, 2005.



Abstract

The delivery and the adaptation of multimedia content in distributed, 
heterogeneous environments, involving device and/or application 
mobility, require flexible control and management mechanisms in the 
terminals and/or in media gateways. MPEG-21 Digital Item Adaptation 
(DIA) provides normative description formats supporting the 
adaptation of so-called Digital Items, but it does not define 
interactions with existing transport and control technologies, in 
order to remain independent. This draft presents a practical approach 
for harmonizing MPEG-21 DIA application with Session Description 
Protocol next generation (SDPng). The proposed mechanism allows the 
definition of system configurations, performance constraints and 
adaptation information within the scope of SDPng using the format of 
MPEG-21 DIA. Furthermore, the converged format enables the 
integration of session management and negotiation protocols (e.g. 
Session Initiation Protocol - SIP) that use such enhanced SDPng 
descriptions within an MPEG-21 conformant environment.



Table of Contents

1.     Introduction                                                3
2.     MPEG-21 DIA and IETF session control specifications         4
2.1.   Description Formats - Backgrounds of SDPng and MPEG-21      4
2.2.   IETF session management protocols with SDPng and MPEG-21 
DIA                                                                7
3.     Integration of MPEG-21 DIA and SDPng definitions            8
3.1.   General comment to the applied examples and the XML usage   8
3.2.   Capabilities definition                                     8
3.2.1.   MPEG-21 Codec Capabilities                                8
3.2.2.   RTP stream definitions                                   11
3.2.3.   Configuration of the actual media components             12
3.3.   Constraints definition                                     14
3.4.   Application of content adaptation using BSD links          18
4.     Namespaces and XML-schema integration                      20
4.1.   SDPng and MPEG-21 DIA namespace integration                20
4.2.   Parameter names and their references                       21
5.     IANA Considerations                                        22
6.     Security considerations                                    22
7.     Conclusions                                                22

Guenkova, et al.         Expires August 11, 2005            [Page  2]


Internet-Draft               MPEG21 SDPng              February 2005


References                                                        23
Authors' Addresses                                                24
Acknowledgements                                                  25
Copyright Notice                                                  25
Liability notice                                                  25
Appendix A. MPEG-21 DIA and SDPng Integration XML Schemas         26
A.1. Enhanced SDPng XML-schema specification                      26
A.2. Enhanced RTP Package XML-schema specification                32
A.3. Enhanced Audio Package XML-schema specification              34
A.4. Enhanced Video Package XML-schema specification              35
A.5. Integration of MPEG-21 DIA definitions - DIA XML-Schema      35
A.6. MPEG User Environment enhancement - UED XML-Schema snippet   37
A.7. SDPng info package XML schema definition                     37
A.8. Additional information on used packages belonging to the MPEG-7 
and MPEG-21 XML-Schemas                                           38
Appendix B. Example document of SDPng and MPEG-21 DIA integration 38


1.   Introduction

MPEG-21 Digital Item Adaptation (DIA) [1] aims to provide normative 
description formats - within DIA generally referred to as tools - for 
applications that handle multimedia content adaptation in 
heterogeneous terminal and network environments by shielding users 
from network and terminal installation, management and implementation 
issues. To achieve that, a flexible adaptation framework was 
specified that introduces the concept of Digital Items as a bundle of 
resources, (associated) metadata, and structure for various purposes. 
However, MPEG-21 did not specify a relation to existing technologies 
for transport mechanisms, in order to be independent of other 
specifications and open for future developments. On the other hand, 
Session Description Protocol next generation (SDPng) [2] defines a 
language for describing multimedia sessions with respect to 
configuration parameters and capabilities of end-systems, conference 
services, media gateways, etc. 

This contribution presents a practical approach for MPEG-21 DIA 
application with SDPng. Both MPEG-21 DIA and SDPng description 
formats apply the eXtensible Markup Language (XML) [3], thus a smooth 
integration of the two technologies is provided. In this document, we 
propose adaptation management mechanisms for multimedia that are able 
to fulfill the requirements of heterogeneous clients and which 
incorporates distributed content delivery and adaptation. 
Furthermore, we discuss how existing mechanisms should be extended in 
order to provide an optimized management model for adaptive 
multimedia delivery by identifying missing parts of MPEG-21 DIA and 
SDPng and proposing protocol extensions to facilitate the 
interworking between call setup (e.g. based on SIP or RTSP) and media 
adaptation based on MPEG-21 DIA.



Guenkova, et al.         Expires August 11, 2005            [Page  3]


Internet-Draft               MPEG21 SDPng              February 2005


2.   MPEG-21 DIA and IETF session control specifications 

Both Internet Engineering Task Force (IETF) and Moving Picture 
Experts Group (MPEG) have defined mechanisms for multimedia transport 
and presentation. Though very similar, these standardization efforts 
exhibit several discrepancies, as IETF concentrates mostly on 
multimedia call setup and data transport and MPEG on presentation 
formats. 


2.1.   Description Formats - Backgrounds of SDPng and MPEG-21

Though SDPng [2] is named a protocol, it is in essence a description 
format for defining session configurations. SDPng is a meta-protocol 
that describes other protocols and configuration mechanisms of 
applications. Usually, the SDPng description is carried inside other 
session layer protocols (like SAP [4], SIP [5], RTSP [6] or MGCP 
[7]), to exchange for instance configuration information on RTP-based 
multimedia streams. SDPng is designed to be modular and extensible 
using XML [3] (unlike its predecessor Session Description Protocol - 
SDP [8]). SDPng is proposed to address more fundamental issues than 
SDP, like Quality of Service (QoS), security support for media 
transfer, etc [9]. Since MPEG-21 DIA [1] is also based on XML 
descriptions, SDPng would be able to apply MPEG-21 DIA and thus 
support a flexible setup and adaptation scenarios for any kind of 
media types and configurations.

The SDPng description model is based on configuration information 
defined by the Real-time Transport Protocol [10][11]. SDPng consists 
of the following description sections [2]:

o   Capabilities - provides a list of individual capabilities (e.g. 
audio or video codecs and their parameter specification as the 
application can present them).

o   Definitions - provides parameters, which are fixed capabilities 
that are not negotiable. These are used in association with 
configurable capabilities to set-up valid media streams (e.g. 
transfer protocol - RTP, IP addresses, ports, etc.).

o   Configurations - provides application-specific associations 
between 
Capabilities and Definitions in form of alternative configurations 
by referencing Capabilities and Definitions sections. SDPng can 
support potential and actual configurations. At session 
establishment, applications negotiate mutually supportable 
configurations, from which one is picked as the actual 
configuration.

o   Constraints - provides constraints on combinations of 
configurations. This component is currently not fully specified in 
[2]. As a novel concept of this document, we propose to use the 

Guenkova, et al.         Expires August 11, 2005            [Page  4]


Internet-Draft               MPEG21 SDPng              February 2005


Constraints section to define virtual devices with more restricted 
capabilities as those defined in the global Capabilities section, 
e.g. a virtual display (i.e. a window within the actual display).

o   Information - provides additional meta-information on sessions 
and 
individual components. The information section is also not fully 
specified in [2]. Within the scope of this document, we propose to 
specify how to define meta-information facilitating MPEG bitstream 
management and adaptation.

MPEG-21 DIA specifies the syntax and semantics of tools (normative 
description formats) that may be used to assist the adaptation of 
Digital Items. Users can use the tools to satisfy transmission, 
storage and consumption constraints, as well as Quality of Service 
management. MPEG-21 DIA specifies tools to describe [1]:

o   The Usage Environment Description (UED) including user 
characteristics, terminal capabilities, network characteristics and 
natural environment characteristics;

o   The high-level syntax of a binary media resource;

o   The relationship between Quality of Service constraints, feasible 
adaptation operations satisfying these constraints and associated 
media resource qualities that result from adaptation;

o   Limitation and optimization constraints on adaptations;

o   Metadata adaptation hint information;

o   Configuration-state information of a Digital Item; and

o   Information required for the configuration of an adaptation 
engine.

All these tools are specified using XML format. The descriptions 
define several system characteristics that are similar to the SDPng 
descriptions with respect to capabilities information, performance 
constraints and meta-information about adaptation facilities. 

In this document, we propose to apply the codec capabilities tool 
from the MPEG-21 Usage Environment Description (UED) tools to express 
en-/decoding capabilities of the distributed multimedia system in 
SDPng (See Section 3.2). Additionally, terminal and network specific 
constraints applied to these capabilities are expressed via UED's 
terminal capability and network characteristic tools (see Section 
3.3). Furthermore, the information about adaptation facilities is 
expressed via Bitstream Syntax Description (BSD) tools providing the 
high-level syntax of a binary media resource and its related tools 
(see Section 3.4).


Guenkova, et al.         Expires August 11, 2005            [Page  5]


Internet-Draft               MPEG21 SDPng              February 2005

The application of MPEG-21 codec capabilities for audio and video 
requires the application of MPEG-7 codec classification schemes [12] 
and their corresponding codec-naming scheme. On the other hand, SDPng 
applies the codec-naming scheme stemming from the RTP/AVP profiles 
[11]. When we consider the relation between application signaling and 
RTP media transport, the convergence of MPEG-21 DIA and SDPng schemes 
is limited. This is due to the fact that there is a significant 
difference in the description mechanisms for supported codecs between 
RTP/AVP profiles and MPEG-7 Multimedia Description Schemes (MDS). 
With this respect, an application using SDPng with MPEG-21 DIA 
extensions should be able to map respectively names and descriptions 
stemming from both of these profiles (i.e. MPEG-7 MDS and RTP/AVP). 
The authors of this contribution recommend starting an effort for 
defining common codec namespace for MPEG-7 MDS and RTP/AVP in form of 
Classification Schemes as a liaison between MPEG and IETF MMUSIC WG 
(see also [13]). Such common namespace would ease the specification 
and integration of emerging and novel codecs within IETF and MPEG 
compliant multimedia frameworks.


2.2.   IETF session management protocols with SDPng and MPEG-21 DIA

Most session management protocols of the IETF standardization track 
can be seen as bearers of session descriptions which include a 
description of media formats as defined in Section 2.1:

o   Session Announcement Protocol (SAP) [4] - This protocol was 
designed to announce session configuration information to a 
potentially large audience, e.g. conferences or multicast services. 
The session configurations announced by SAP are described in SDP 
[8]. Based on the information in this document, SAP would be in 
position to use SDPng with MPEG-21 DIA system capabilities 
description to announce the capabilities of MPEG compliant 
multimedia services.

o   Session Initiation Protocol (SIP) [5] - SIP is used to establish 
and modify multimedia sessions. A description protocol (e.g. SDP, 
SDPng) is normally applied to describe the parameters of these 
sessions. With respect to SIP, the MPEG-21 DIA integration in SDPng 
would allow the definition of MPEG compliant services in 
consideration with their capabilities, specific usage constraints 
and adaptation features of the terminal devices. This would 
facilitate the usage of MPEG-21 DIA for adaptive audio and video 
conferencing.

o   Real-Time Streaming Protocol (RTSP) [6] - RTSP is used for 
controlling (non-interactive) streaming sessions, unlike SIP that 
can support also other multimedia services. The application of 
MPEG-21 DIA in RTSP is similar to that in SIP. This would 
facilitate the usage of MPEG-21 DIA for adaptive audio and video 
streaming.


Guenkova, et al.         Expires August 11, 2005            [Page  6]


Internet-Draft               MPEG21 SDPng              February 2005


o   Media Gateway Control Protocol (MGCP) [7] - This protocol is 
applied to control multimedia gateways within the network. 
Consequently, the application of MPEG compliant media gateways 
within the network is enabled using the MPEG-21 DIA enhancements to 
SDPng for describing and communicating the features of such 
gateways. One of the main functions of such gateways is the ability 
to perform content adaptation of media within the network. The 
usage of BSD links presented in Section 3.4 enables the application 
of such content adaptation gateways with MPEG compliant bitstream 
management.


3.   Integration of MPEG-21 DIA and SDPng definitions

In the following, we propose a first harmonization between MPEG-21 
DIA and SDPng by embedding MPEG-21 DIA into SDPng, and we discuss the 
application of the MPEG-21 DIA elements within SDPng. The exact 
namespace integration within the header of the XML documents is shown 
in Section 4.1. The integrated XML schemas of SDPng and MPEG-21 DIA 
are presented in Appendix A. 


3.1.   General comment to the applied examples and the XML usage

Due to the line wrapping of the format required for this document the 
original indentation as usual for XML layout does not appear 
correctly, i.e. the bracket pairs "<" and "/>" or "<" and ">", or 
"</" and ">" always indicate single unbreakable lines. Additionally 
the conventional ordering of the XML hierarchical elements appears as 
hierarchical tree layout. The lines delimited with "<!--" and "-->" 
brackets are XML-comments that are used where appropriate to improve 
the readability of the XML code. The information between "<!--" and 
"-->" indicates also a single line. This note SHOULD be taken into 
account when considering the XML document and schema examples in the 
rest of this draft. 

All the XML examples and schemas in this document are proven on 
wellformness and validity with XMLSpy Software [14].


3.2.   Capabilities definition

This section defines the different types of multimedia system 
capabilities. 


3.2.1.   MPEG-21 Codec Capabilities

The example below depicts the integration of MPEG-21 DIA codec 
capability elements within the <cap> element of SDPng:


Guenkova, et al.         Expires August 11, 2005            [Page  7]


Internet-Draft               MPEG21 SDPng              February 2005


<cap>

<sdpng-dia:mpeg21-DIA-definition>
 <sdpng-dia:MPEG21-DIA>
  <m21-dia:UsageEnvironmentProperty xsi:type="m21-dia:TerminalsType">
   <m21-dia:Terminal>
    <m21-dia:TerminalCapability 
       xsi:type="m21-dia:CodecCapabilitiesType">

<!-- Audio capabilities definition -->
      <m21-dia:Decoding xsi:type="m21-dia:AudioCapabilitiesType">
       <m21-dia:Format   
         href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1">
          <mpeg7:Name xml:lang="en">
            MPEG-4 Mobile Audio Internetworking Profile @ Level 1  
          </mpeg7:Name>
       </m21-dia:Format>
       <m21-dia:Format 
         href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:4.4">
          <mpeg7:Name xml:lang="en">
            MP3
          </mpeg7:Name>
       </m21-dia:Format>
      </m21-dia:Decoding>
<!-- End of audio capabilities definition -->
<!-- ************************************ -->
<!-- Video capabilities definition -->
      <m21-dia:Decoding xsi:type="m21-dia:VideoCapabilitiesType">
       <m21-dia:Format
         href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:7">
          <mpeg7:Name xml:lang="en">
           H261
          </mpeg7:Name>
       </m21-dia:Format>
       <m21-dia:Format 
         href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:8">
          <mpeg7:Name xml:lang="en">
            H263
          </mpeg7:Name>
       </m21-dia:Format>
      </m21-dia:Decoding>
<!-- End of video capabilities definition -->

    </m21-dia:TerminalCapability>
   </m21-dia:Terminal>
  </m21-dia:UsageEnvironmentProperty>
 </sdpng-dia:MPEG21-DIA>
</sdpng-dia:mpeg21-DIA-definition>

</cap>


Guenkova, et al.         Expires August 11, 2005            [Page  8]


Internet-Draft               MPEG21 SDPng              February 2005


The prefixes "sdpng-dia", "m21-dia" and "mpeg7" indicate a different 
namespace than the original SDPng XML schema namespaces (see also 
Section 4.1 and Appendix A), namely the elements belonging to the 
SDPng/MPEG integration schema and to the different MPEG schemas. The 
elements <sdpng-dia:mpeg21-DIA-definition>; <sdpng-dia:MPEG21-DIA>; 
<m21-dia:UsageEnvironmentProperty>; <m21-dia:Terminal> and <m21-
dia:TerminalCapability> build a container for codec descriptions and 
other negotiable capabilities of the terminal supportable over MPEG-
21 UED [1]. As MPEG-21 DIA can define different usage environments, 
the terminal and its capabilities are sub-elements of the usage 
environment. With this respect the <m21-dia:UsageEnvironmentProperty> 
and the <m21-dia:TerminalCapability> elements have to define their 
specific structure for the purpose of the respective XML document 
description. Consequently, the specific meaning and structure of 
<m21-dia:UsageEnvironmentProperty> and <m21-dia:TerminalCapability> 
elements are specified using the "xsi:type" attribute. The example 
above also shows the hierarchical structure of MPEG-21 DIA when 
specifying the environments and system capabilities starting from the 
more general ones (i.e. Usage Environments) and going into deeper 
details of the description (i.e. Terminals, Terminal Capabilities, 
Codecs, etc.), respectively deeper into the XML-Tree hierarchy. 

The specification of the Terminal Capabilities is achieved with 
"xsi:type="m21-dia:CodecCapabilitiesType"" and the elements within 
the <m21-dia:TerminalCapability> container are codec definitions. 

The codec definition itself can take place using three different 
containers that indicate for what function the respective codec 
definition is applied: 

o   <m21-dia:Decoding> - describes the decoding capabilities of the 
terminal

o   <m21-dia:Encoding> - describes the encoding capabilities of the 
terminal

o   <m21-dia:DecodingEncoding> - describes that the capabilities for 
this specification are used both for decoding and encoding.

Note, that only the definitions <m21-dia:Decoding> and <m21-
dia:Encoding> belong to the MPEG-21 DIA standard definition of Usage 
Environments [1]. The definition <m21-dia:DecodingEncoding> is a new 
proposal of this draft that shall enhance the Usage Environment 
definition of MPEG-21 DIA (see also Appendix A.6). One reason for 
introducing this new element in the MPEG-21 DIA Usage Environment 
specification is to optimize the size of the documents where codec 
definitions are applied to specify symmetric bi-directional streams, 
i.e. instead of using two definitions (<m21-dia:Decoding> and <m21-
dia:Encoding>) for one and the same codec. Additionally, <m21-
dia:DecodingEncoding> is applied to achieve harmonization with SDPng 
definitions for simultaneous sending and receiving of media streams 

Guenkova, et al.         Expires August 11, 2005            [Page  9]


Internet-Draft               MPEG21 SDPng              February 2005


 (see also Section 3.2.3). Therefore, the MPEG-21 DIA definitions 
"Decoding", "Encoding" and "DecodingEncoding" correspond to the SDPng 
definitions for only receiving, only sending and simultaneously 
sending and receiving of media streams. We consider the definition of 
"DecodingEncoding" as a correspondence of "send-receive" using the 
example of Voice over IP (VoIP) application, where the involved 
communication peers "encode and send" and "receive and decode". 
Additional reason for introducing the new MPEG-21 definition is the 
applied reference scheme between components that requires one-to-one 
correspondence when using XML attribute as a reference key (see 
Sections 3.2.3, 3.3 and 3.4).

The "xsi:type"-s "m21-dia:AudioCapabilitiesType" and "m21-
dia:VideoCapabilitiesType" depict what types of media shall be 
processed with the respective function "Decoding", "Encoding" and 
"DecodingEncoding". In the example above the <m21-dia:Decoding> 
elements are containers for the specification of audio and video 
codecs that are used for decoding only. The element <m21-dia:Format> 
indicates the codec definition. Its attribute "href" is a pointer to 
a specific definition of the codec. Such a Unified Resource Name 
(URN) (e.g. "urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1" or 
"urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:8") provides a link to the 
exact specification of the codec format which contains information 
about exact codec names, specific codec features, etc. The idea of 
using such URNs is to separate the definition of specific codec 
features from the general capabilities specification. The parties 
exchanging such URNs have to agree only on the URN type (e.g. MPEG-7 
MDS [12] defined with "urn:mpeg:mpeg7:cs:AudioCodingFormatCS") and 
version (e.g. the specification of the year, in the example above 
this is "2001" MPEG-7 MDS definition). MPEG-7 MDS specification 
allows also the usage of other then MPEG-7 MDS Classification Schemes 
at this place (i.e. within the "href" definition), but the 
communicating parties using MPEG-7 MDS and other similar definitions 
have to agree on the applied classification scheme. How the 
communicating parties get to know the classification schemes (e.g. at 
configuration time or through downloading) is out of scope of this 
document. The child element <mpeg7:Name> of <m21-dia:Format> 
indicates the MPEG-7 name of the codec. The attribute "xml:lang" 
within <mpeg7:Name> identifies the language used for the codec name 
specification, e.g. "xml:lang="en"" is the specification of the 
English language. According to the XML schema specification the usage 
of the element <mpeg7:Name> is optional, as the codec is fully 
specified over the link to a classification scheme (i.e. the "href" 
attribute). However, the <mpeg7:Name> element is provided for better 
human readability.

The design of SDPng considers on its current development stage only 
codecs as negotiable parameters. Consequently, we treat within the 
scope of SDPng and MPEG-21 harmonization in this document only the 
codecs as negotiable capabilities, as the introduction of other 
terminal and usage environment capabilities as negotiable parameters 

Guenkova, et al.         Expires August 11, 2005            [Page 10]


Internet-Draft               MPEG21 SDPng              February 2005


has still to be studied in consideration with current and emerging 
applications. 


3.2.2.   RTP stream definitions

This section treats to greater extent the RTP AVP, SDP and SDPng 
harmonization considering the fact that new emerging codecs and their 
streaming on the network may require specific RTP format definitions 
and extensions leading to specifications of dynamic payload types. As 
an example, the definition of MPEG payload types is treated quite 
restrictively in [11], as the static payload types for MPEG in [11] 
do not consider the layered features of MPEG and the application of 
MPEG-4.

The RTP stream definitions used for IP-addresses and ports are 
specified within the <def> element of SDPng [2]. This document 
introduces only a small change to the initial SDPng proposal with 
respect to the payload type definition in XML. The following example 
shows such RTP definition:


<def>

<!-- A single RTP definition -->
<rtp:udp name="rtp-cfg1">
   <rtp:network>IP6</rtp:network>
   <rtp:ip-addr>::1</rtp:ip-addr>
   <rtp:rtp-port>9546</rtp:rtp-port>
   <rtp:pt pt="86" frequency="8000" chan="1">
      <rtp:fmtp key="bitrate" unit="bitPerSecond">16000</rtp:fmtp>
   </rtp:pt>
</rtp:udp>
<!-- End of the single RTP definition -->

</def>


One of the proposed changes to the original SDPng definition is in 
the element <rtp:pt> (belonging to the <rtp:udp> element). We propose 
to define the payload type using the attribute "pt" and not in the 
element itself as in the original SDPng proposal [2]. The element 
<rtp:pt> is enhanced to a complex type which can integrate additional 
format specific values for specifying dynamic payload features that 
are not negotiable, thus following the prescription for the SDP 
"fmtp" definition [8]. The <rtp:pt> attributes "frequency" and "chan" 
are optional attributes that are adopted from the payload type 
definitions specified in [11] and that are used respectively within 
the SDP specification. Note that the "chan" attribute is meaningful 
only for audio as it specifies the number of applied audio channels. 
The element <rtp:fmtp> has two attributes "key" and "unit". The "key" 

Guenkova, et al.         Expires August 11, 2005            [Page 11]


Internet-Draft               MPEG21 SDPng              February 2005


attribute defines a name of the parameter which value is specified in 
the corresponding element <rtp:fmtp>. The "unit" defines the unit of 
the value if this value is a measurable parameter. The usage of 
<rtp:fmtp> elements is an advantage when specifying dynamic payload 
formats (see also [11]) that are not fully specified by the profile 
(e.g. RTP/AVP). It serves for defining and communicating parameters 
that belong to dynamic formats. This new definition would help to 
test and integrated MPEG specific formats that are not specified with 
RTP/AVP.

Additionally, we propose to fix the namespace of the names used in 
the <rtp:udp> "name" attribute with a regular expression in order to 
have standardized names that can be referenced from within other 
elements that need to link the RTP information within their own 
context (see Section 4.2 and Appendix A.1 for details).


3.2.3.   Configuration of the actual media components

The following example shows a configuration of the media components 
within SDPng using MPEG-21 DIA enhancements:

<cfg>

<!-- Audio component definition -->
<component name="audiocomponent001" media="audio" 
  direction="recvonly">
 <alt name="audio001">
  <audio:codec    
    href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1"/>
  <rtp:udp ref="rtp-cfg001">
   <rtp:pt pt="99">
    <rtp:fmtp key="maxPacketSize" unit="Byte">1500</rtp:fmtp>
    <rtp:fmtp key="maxBurstSize" unit="kbit">1000</rtp:fmtp>
   </rtp:pt>
  </rtp:udp>
 </alt>
 <alt name="audio002">
  <audio:codec
     href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:4.4"/>
  <rtp:udp ref="rtp-cfg001">
   <rtp:pt pt="14"/>
  </rtp:udp>
 </alt>
</component>
<!-- End of the audio component definition -->
<!-- ****************************************  -->
<!-- Video component definition -->
<component name="videocomponent001" media="video" 
  direction="recvonly">
 <alt name="video001">

Guenkova, et al.         Expires August 11, 2005            [Page 12]


Internet-Draft               MPEG21 SDPng              February 2005


  <video:codec href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:7"/>
  <rtp:udp ref="rtp-cfg002"/>
 </alt>
 <alt name="video002">
  <video:codec href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:8"/>
  <rtp:udp ref="rtp-cfg003"/>
 </alt>
</component>
<!-- End of the video component definition -->

</cfg>


The specification of the application configuration is quite similar 
to the original SDPng definition [2] with the following exceptions:

o   The <audio:codec> and the <video:codec> elements are redefined. 
They contain now external references ("href") to MPEG-7 MDS [12] or 
other external Classification Schemes for codecs as an attribute. 
This extension is made in order to harmonize the application of 
external Classification Schemes for capabilities definition in 
<cap> (see also Section 3.2.1) and their referencing within the 
<alt> element. The reference to the previously defined capability 
that uses external definition ("href") SHALL also use external 
definition ("href").

o   An optional "direction" attribute is introduced to show the 
direction of the streaming for streaming media types. This 
attribute is adopted from the SDP specification [8].

o   The names of the <component> attributes "name", "media" and 
"direction" are fixed using regular expressions (see also Section 
4.2 and Appendix A.1).

o   The name of the <alt> attribute "name" is also fixed using 
regular 
expression (see also Section 4.2 and Appendix A.1).

The example above should be interpreted in the following way: Two 
media streams named "audiocomponent001" and "videocomponent001" are 
defined using two alternative definitions. "audiocomponent001" shall 
be received (see attribute "direction='recvonly'") and is of type 
"audio" (see attribute "media='audio'"). "videocomponent001" shall be 
received, but is of type "video". The alternatives are specified with 
the help of the <alt> element. Every <alt> element defines an 
association of a codec definition (e.g. <audio:codec 
href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1"/> and 
<video:codec href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:7"/> are 
such definitions) and RTP definition. As the RTP definition might be 
already available through an <rtp:udp> element in the <def> container 
(see Section 3.2.2) this definition is referenced through the "ref" 
attribute of the <rtp:udp> as shown in the example above. Note, that 

Guenkova, et al.         Expires August 11, 2005            [Page 13]


Internet-Draft               MPEG21 SDPng              February 2005


the definition of the <rtp:udp> element might not be completed within 
the <def> element, i.e. only IP-addresses and ports are defined but 
no payload types. Therefore, the definition can be completed later 
within the <cfg> element as shown for the audio stream in the example 
above. The specification of more general definitions in the <def> 
element allows their reuse and extension for more specific 
application needs in the <cfg> element. This separation of more 
general and specific definitions of the <rtp:udp> application allows 
the optimization of the SDPng XML code, as repetition of similar 
descriptions is avoided. 


3.3.   Constraints definition

SDPng [2] currently specifies only a container for the constraints 
information. We propose the usage of MPEG-21 DIA elements specified 
over the abstract type "DIADescriptionType", belonging to the MPEG-21 
DIA Usage Environment definition scheme [1] for describing Terminal 
and Network constraints. These constraints can be applied at 
different levels of abstractions (e.g. single media definitions 
specified with <alt>, media-stream definitions specified with 
<component> and the complete session definition - see also Section 
3.2.3). As a novel concept, the Constraints definition can also be 
used to define a virtual device, e.g. a virtual display (i.e. a 
window within the actual display) or virtual audio device (i.e. mono 
output on a hardware stereo device). Such a feature is especially 
useful for constraining the performance of single video/audio 
components, e.g. in cases when multiple video windows shall be 
displayed or when battery power shall be saved by displaying smaller 
windows or skipping audio stereo performance and using mono output.

Note that the description of virtual devices and constraints using 
only the Usage Environment Description is not intended in the MPEG-21 
definition, as MPEG-21 applies Universal Constraints Descriptor (UCD) 
tool for describing constraints for adaptation [1]. Furthermore, the 
UED is applied in MPEG-21 for defining of only real environments of 
existing hardware devices. On the other side from the point of view 
of the session description, the constraints are the upper limits of 
the session's the usage environment, no matter if this is a virtual 
or real usage environment. A session description MAY assume that an 
adaptation with UCD has taken place before the session description 
has been generated. Hence, the generated virtual environment for the 
session is then the actual/real environment for the session and it 
has to be described with the UED tool. The application of UCD in 
MPEG-21 DIA is currently defined as a single, straightforward 
application upon UED (with XPointer [1]). Within this document, we 
assume that the application of UCD upon a usage environment generates 
another virtual usage environment that corresponds the upper limits 
for session performance. This logical discrepancy between the 
parameters for session descriptions and the MPEG-21 UED and UCD has 
still to be studied also within the scope of MPEG-21. 

Guenkova, et al.         Expires August 11, 2005            [Page 14]


Internet-Draft               MPEG21 SDPng              February 2005


An example of session description constraints using UED is shown 
below:


<constraints>
<!-- *********************************************************** -->

<!-- This is the definition of constraints for the complete session -
->

<!-- *********************************************************** -->
<constraint name="session" xsi:type="sdpng-dia:mpeg21DIA-constraint">
   <sdpng-dia:MPEG21-DIA xsi:type="m21-dia:TerminalsType">
      <m21-dia:Terminal>
<!-- *********************************************************** -->
<!-- Display description as constraint for the displayable data -->
<!-- *********************************************************** -->
       <m21-dia:TerminalCapability xsi:type="m21-dia:DisplaysType">
         <m21-dia:Display>
           <m21-dia:DisplayCapability 
            xsi:type="m21-dia:DisplayCapabilityType"  
            colorCapable="true" 
            contrastRatio="700"
            refreshRate="30">
               <m21-dia:Mode>
                 <m21-dia:Resolution 
                   horizontal="176" vertical="144"/>
               </m21-dia:Mode>
               <m21-dia:ColorBitDepth blue="8" green="8" red="8"/>
               <m21-dia:CharacterSetCode>
               US-ASCII
             </m21-dia:CharacterSetCode>
           </m21-dia:DisplayCapability>
         </m21-dia:Display>
       </m21-dia:TerminalCapability>
<!-- *********************************************************** -->
<!-- End of Display description -->
<!-- *********************************************************** -->
<!-- *********************************************************** -->
<!-- Audio output description as constraint for the audible data -->
<!-- *********************************************************** -->
       <m21-dia:TerminalCapability 
             xsi:type="m21-dia:AudioOutputsType">
        <m21-dia:AudioOutput>
          <m21-dia:AudioOutputCapability numChannels="2" 
           xsi:type="m21-dia:AudioOutputCapabilitiesType">
               <m21-dia:Mode id="ID" samplingFrequency="44100" 
                  bitsPerSample="16"/>
          </m21-dia:AudioOutputCapability>
        </m21-dia:AudioOutput>
       </m21-dia:TerminalCapability>

Guenkova, et al.         Expires August 11, 2005            [Page 15]


Internet-Draft               MPEG21 SDPng              February 2005


<!-- *********************************************************** -->
<!-- End of Audio output description -->
<!-- *********************************************************** -->
<!-- *********************************************************** -->
<!--  Data I/O description as constraint for communication volume -->
<!-- *********************************************************** -->
       <m21-dia:TerminalCapability xsi:type="m21-dia:DataIOsType">
        <m21-dia:DataIO>
          <m21-dia:DataIOCharacteristic 
            xsi:type="m21-dia:DataIOCharacteristicsType" 
            busWidth="128" id="id" maxDevices="1" numDevices="1" 
            transferSpeed="1000"/>
         </m21-dia:DataIO>
       </m21-dia:TerminalCapability>
<!-- *********************************************************** -->
<!-- End of Data I/O description -->
<!-- *********************************************************** -->
      </m21-dia:Terminal>
   </sdpng-dia:MPEG21-DIA>
</constraint>
<!-- *********************************************************** -->

<!--End of the definition of constraints for the complete session -->

<!-- ************************************************************ -->
<!-- *********************************************************** -->

<!-- Constraints of a video stream wrt network parameters -->

<!-- *********************************************************** -->
<constraint name="component" ref="videocomponent001" 
   xsi:type="sdpng-dia:mpeg21DIA-constraint">
  <sdpng-dia:MPEG21-DIA xsi:type="m21-dia:NetworksType">
   <m21-dia:Network>
    <m21-dia:NetworkCharacteristic maxCapacity="384000" 
      minGuaranteed="32000" 
      xsi:type="m21-dia:NetworkCapabilityType"/>
    <m21-dia:NetworkCharacteristic 
      xsi:type="m21-dia:NetworkConditionType">
        <m21-dia:AvailableBandwidth average="80000" 
          maximum="256000" minimum="330"/>
        <m21-dia:Delay delayVariation="66" packetTwoWay="330"/>
        <m21-dia:Error packetLossRate="0.05"/>
    </m21-dia:NetworkCharacteristic>
  </m21-dia:Network>
 </sdpng-dia:MPEG21-DIA>
</constraint>
<!-- *********************************************************** -->

<!-- End of the definition of constraints for the video stream -->


Guenkova, et al.         Expires August 11, 2005            [Page 16]


Internet-Draft               MPEG21 SDPng              February 2005


<!-- *********************************************************** -->
</constraints>


The specification of the following two elements is important for the 
correct definition of constraints at the terminal or at the network:


<constraint name="component" ref="videocomponent001" 
   xsi:type="sdpng-dia:mpeg21DIA-constraint">


 and 


<sdpng-dia:MPEG21-DIA xsi:type="m21-dia:NetworksType">


The element "constraint" specifies with its attribute "name" at what 
level of abstraction of the session description the constraint shall 
be applied. Possible levels are "session", "component" and "alt" (see 
also Section 4.2). The attribute "ref" is used to point at a 
"component" or "alt" definition that is being constraint in cases 
that these components require specific conditions for their 
performance. In the above example a component "videocomponent001" 
that SHALL be previously defined in the <cfg> element of SDPng 
requires additional performance constraints that are defined by 
referring this component from within the <constraints> element.

The "xsi:type" of the <sdpng-dia:MPEG21-DIA> element specifies if the 
constraint is a requirement of the terminal (i.e. xsi:type="m21-
dia:TerminalsType") or of the network (i.e. xsi:type="m21-
dia:NetworksType"). 

We will not go into detailed explanation of the elements and 
attributes of the above example, as the names of these are self-
explanatory and the complete specification of all these elements and 
attributes and their associated measurement units are defined in 
detail in the MPEG-21 DIA standard [1]. Herewith we explain only the 
meaning of the example itself:

The above example shows that the performance of all media belonging 
to the session is restricted due to the terminal capabilities of the 
display, the audio output and the data input/output device of the 
terminal (e.g. access technology). Furthermore, the performance of 
the video component (i.e. "videocomponent001") is additionally 
restricted due to the specific network characteristics and 
conditions. 

The "Display" characteristics indicate that the defined display for 
presenting the session is color capable (attribute "colorCapable") 

Guenkova, et al.         Expires August 11, 2005            [Page 17]


Internet-Draft               MPEG21 SDPng              February 2005


and supports 8-bit color scheme (<m21-dia:ColorBitDepth blue="8" 
green="8" red="8"/>). The maximal framerate at which the virtual 
display performs is defined over attribute refreshRate="30" (i.e. 
30Hz or 30 frames-per-second). The specified display has maximum 
screen size of horizontal="176" and vertical="144" pixels and 
supports "US-ASCII" character set. 

The "AudioOutput" indicates the maximal stereoscopic and sampling 
capabilities of the audio device for the specified session as a 
restriction for all the audio components performance. This definition 
can also be used to restrict the performance of single audio streams, 
e.g. if the audio stream shall use only a single audio channel (i.e. 
mono) despite that the device might support stereo. This feature can 
be applied in cases that the audio device should not apply all its 
processing power to save for example battery power in the terminal. 

The "DataIO" is used here to indicate the characteristics of the 
network-access device at the terminal. This specification can 
correspond to either the actual or some virtual input/output devices 
where the virtual performance is a sub-set of the actual performance 
of the IO device. The definition of virtual IO devices is also 
applied when the communication resources should not be split equally 
between the applied media components, thus a specific restriction per 
media component can be provided. 

The "NetworkCharacteristic" indicates the static and dynamic features 
of the network performance from the point of view of the "network". 
"NetworkCharacteristic" can express (static) provider restrictions 
like bandwidth maxCapacity="384000" and minGuaranteed="32000" or 
status of the (dynamic) network load with parameters like delay 
variation, average delay of the packets one or two way, packet loss, 
etc. In the example above the definition of the Network 
Characteristics for the "videocomponent001" shall be interpreted as 
the optimal required network performance for the maintenance of the 
respective video component.

The constraint components presented within this chapter SHALL be 
treated as quality of service (QoS) characteristics as they express 
the optimal service performance of the described session and its 
respective components. This information can be used by the 
application for network QoS reservation.


3.4.   Application of content adaptation using BSD links

Sections 3.2 and 3.3 define "capabilities" and "constraints" 
respectively which are usually communicated from the usage 
environment, e.g. the rendering device or access network upstream to 
the multimedia content provider. This section defines session 
information by means of the "info" element which are usually 
delivered by the content provider to the content consumer.

Guenkova, et al.         Expires August 11, 2005            [Page 18]


Internet-Draft               MPEG21 SDPng              February 2005


The following example is applied in the case where adaptation of 
media components is required and where the adaptation can be applied 
using generic Bitstream Syntax Descriptions (gBSDs) as specified by 
MPEG-21 DIA [1]. 


<info>
   <!-- this element describes MPEG BSD Links as additional
     information for the media performance-->
   <sdpng-dia:BSDLiveLink ref="audiocomponent001">
      <sdpng-dia:bsdLink>
         <m21-dia:SteeringDescriptionRef uri="AQoS_bsac.xml"/>
         <m21-dia:BSDRef uri="#mysong_bsac_bsd"/>
         <m21-dia:BSDTransformationRef uri="bsac.xsl" 
           type="http://www.w3.org/1999/XSL/Transform"/>
         <m21-dia:Parameter xsi:type="m21-dia:IOPinRefType" 
           name="nlayers">
            <m21-dia:Value>LAYERS_OF_SCALABLE_AUDIO</m21-dia:Value>
         </m21-dia:Parameter>
      </sdpng-dia:bsdLink>
      <sdpng-dia:bsdHull>
         <sdpng-dia:Description xsi:type="gbsd:gBSDType" 
           addressUnit="bit" addressMode="Absolute"
           bs1:bitstreamURI=" mysong.bsac " id="mysong_bsac_bsd">
            <gbsd:gBSDUnit length="18"/>
         </sdpng-dia:Description>
      </sdpng-dia:bsdHull>
   </sdpng-dia:BSDLiveLink>
</info>


Content adaptation can be performed at the sender of the media, at 
the receiver of the media or inside the network between them (e.g. 
using media gateways). The sender of an SDPng message containing such 
BSD link information proposes an adaptation of a media component (in 
the above example this is "audiocomponent001") that shall be 
performed using additional information provided via the URI links 
(i.e. "uri" attributes of the elements within the <sdpng-dia:bsdLink> 
parent element in the above example). The information behind these 
links is applied to provide hints about the structure of the media 
stream, about how exactly this stream shall be adapted, about the 
tools for the adaptation, etc. Furthermore, the element <m21-
dia:Parameter> identifies the parameters that shall be considered for 
the adaptation process. The <sdpng-dia:bsdHull> element encapsulates 
the header part of a generic Bitstream Syntax Description (gBSD) that 
specifies the initial address mode and address unit of the bitstream 
description. In this document, we will not go in further details as 
the adaptation using BSD and gBSD within the scope of MPEG-21 DIA is 
extensively explained in [1] and is outside the scope of this 
document. With the example above we show only how such adaptation 
information can be integrated within SDPng. Such information can then 

Guenkova, et al.         Expires August 11, 2005            [Page 19]


Internet-Draft               MPEG21 SDPng              February 2005


be used for signalling of terminal or of media gateways BSD 
adaptation features when using for example SIP [5], RTSP [6] or MGCP 
[7] as carrier protocol for the BSD.


4.   Namespaces and XML-schema integration

The integration between the SDPng and MPEG-21 DIA is implemented 
using XML-Schema [15].

4.1.   SDPng and MPEG-21 DIA namespace integration

The following example shows the header of an SDPng document that 
shall use MPEG-21 DIA extensions:
 

<sdpng xsi:schemaLocation="http://www.iana.org/sdpng sdpng-base++.xsd 
http://www.iana.org/sdpng/rtp sdpng-rtp-pkg++.xsd  
http://www.iana.org/sdpng/audio sdpng-audio-pkg++.xsd 
http://www.iana.org/sdpng/video  sdpng-video-pkg++.xsd 
http://www.iana.org/sdpng/info  sdpng-info-pkg++.xsd 
http://www.iana.org/sdpng/mpeg21-dia mpeg21-dia-pkg++.xsd" 
xmlns="http://www.iana.org/sdpng" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:audio="http://www.iana.org/sdpng/audio" 
xmlns:video="http://www.iana.org/sdpng/video" 
xmlns:rtp="http://www.iana.org/sdpng/rtp" 
xmlns:info="http://www.iana.org/sdpng/info" 
xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" 
xmlns:m21-dia="urn:mpeg:mpeg21:2003:01-DIA-NS" 
xmlns:sdpng-dia="http://www.iana.org/sdpng/sdpng-dia" 
xmlns:bs1="urn:mpeg:mpeg21:2003:01-DIA-BSDL1-NS" 
xmlns:gbsd="urn:mpeg:mpeg21:2003:01-DIA-gBSD-NS">


The header begins with "sdpng" to indicate that SDPng is the basic 
XML schema. The MPEG-7 and MPEG-21 are the adopted schemas and all 
elements coming from these schemas carry respectively the headers 
"m21-dia:" or "mpeg7:" (see also the examples in the previous 
sections). The integration schema of SDPng and MPEG-21 DIA is named 
"mpeg21-dia-pkg++.xsd" and carries the header "sdpng-dia:". The SDPng 
enhancement schema and all schemas stemming from the original SDPng 
document [2] carry in their document name the indication "++" due to 
the extension of the basic schema (i.e. sdpng-base++.xsd) and since 
all the package schemas (i.e. sdpng-rtp-pkg++.xsd, sdpng-audio-
pkg++.xsd, sdpng-video-pkg++.xsd, sdpng-info-pkg++.xsd and mpeg21-
dia-pkg++.xsd) inherit definitions from the basic SDPng schema. The 
attributes "xmlns" indicate the adopted XML-namespaces within the 
SDPng extension model. Complete information on the XML Schemas is 
provided in Appendix A.


Guenkova, et al.         Expires August 11, 2005            [Page 20]


Internet-Draft               MPEG21 SDPng              February 2005


4.2.   Parameter names and their references

The definition of some SDPng expressions requires the usage of 
specific names. These names can be fixed within the SDPng XML-Schema 
using regular expressions or enumeration types. Thus, one can provide 
a unified naming for media types, configurations and other 
definitions. This is important especially in cases where the 
definitions are referenced from within other definitions in order to 
build the objects belonging to a single specification in a consistent 
way. Additionally, some of the parameter definitions are not freely 
usable as they are already fixed through other profiles and 
specifications (e.g. RTP/AVP [11] or SDP [8]). Hence, they are also 
fixed in the SDPng XML Schema (see Appendix A).
 
We propose that the following SDPng names have fixed definitions in 
addition to the fixed descriptions already available in the SDPng 
specification [2]:

o   Decoding|Encoding|DecodingEncoding - these are sub-elements of 
the 
TerminalCapability for expressing the capability of a codec to 
decode, encode or to perform both of the functions inside the 
terminal. This definition shall be used as extension to the MPEG-21 
Usage Environment Description schema and shall be proposed for 
standardization also for MPEG (see also Appendix A.6).

o   audio|video|data - The "media" attributes and elements can take 
one 
of the three values "audio", "video" or "data".

o   recvonly|sendonly|sendrecv|inactive - The media stream 
"direction" 
attributes and elements take one of the 4 values "recvonly", 
"sendonly", "sendrecv" and "inactive". This definition is adopted 
from the SDP specification [8].

o   rtp-cfg[0-9]{1,3} - This name pattern is used for identifying a 
single definition of RTP media specification and a reference to 
such a definition. Valid names corresponding this pattern are e.g. 
"rtp-cfg1", "rtp-cfg000", "rtp-cfg34", etc.

o   (audio|video|data)[0-9]{1,3} - This name pattern is used for 
identifying an association of codec definition and RTP media and a 
reference to such an association definition (i.e. see element <alt> 
in Section 3.2.3). Valid names corresponding this pattern are 
"audio123", "video01", "data7", etc.

o   (audio|video|data)component[0-9]{1,3} - This name pattern is used 
for identifying a media configuration which can contain one or 
multiple associated definitions (see the definition of <alt> names 
above). The same pattern is used for referencing such a medium 
configuration (see also the definition of <component> in Section 

Guenkova, et al.         Expires August 11, 2005            [Page 21]


Internet-Draft               MPEG21 SDPng              February 2005


3.2.3). Valid names corresponding to this pattern are 
"audiocomponent123", "videocomponent5", "datacomponent006", etc.


5.   IANA Considerations

The IANA should set up a registry for XML namespaces for SDPng and 
SDPng package definitions.

The SDP parameter registry (http://www.iana.org/assignments/sdp-
parameters) should be converted to SDPng package definitions.

The inputs of this draft are not concurrent to the inputs of the 
original SDPng draft [2], hence they SHOULD be considered as 
belonging to the same namespace as long as SDPng is concerned.

The IANA registry and the namespaces of MPEG are maintained by MPEG 
and ISO/IEC. 

The exact structure of the SDPng namespace depends on the fact if 
SDPng work in progress [2] shall be continued or if this draft shall 
take over the SDPng development.

Furthermore, it shall be discussed between IETF MMUSIC WG and MPEG if 
the MPEG-21 and SDPng namespaces shall be converged within the scope 
of IANA name giving to achieve a common namespace for usage 
environments within the terms of session descriptions. 


6.   Security considerations

Since SDPng is a description format carried by other protocols (SAP 
[4], SIP [5], RTSP [6] or MGCP [7]), SDPng relies on the security 
provided by its carriers.


7.   Conclusions

This draft presented a possible solution for applying MPEG-21 within 
SDPng in order to enable the integration of MPEG-21 DIA within IETF 
transport and signaling frameworks. Our proposal allows the 
introduction of advanced media features like QoS constraints to the 
SDPng capabilities through integrating MPEG-21 elements. Furthermore, 
our solution allows the separation of the advanced capabilities into 
technology dependent (e.g. RTP, MPEG-7 codec classification schemes) 
and technology independent ones (e.g. general description of 
performance constraints). This makes it possible that the two 
technologies (SDPng and MPEG-21 DIA) can still be developed 
independently despite their simultaneous application for session 
establishment and control. Our solution satisfies the current desires 
for the SDPng development introducing only minimal changes to the 

Guenkova, et al.         Expires August 11, 2005            [Page 22]


Internet-Draft               MPEG21 SDPng              February 2005


basic SDPng definition. 

References

[1]   A. Vetro, C. Timmerer, S. Devillers (eds.), ISO/IEC 21000-
7:2004, "Information Technology - Multimedia Framework 
(MPEG-21) - Part 7: Digital Item Adaptation", October 2004.

[2]   D. Kutscher et al., "Session description and capability 
negotiation", IETF Internet-Draft, Work-in-progress: draft-
ietf-mmusic-sdpng-07, October 2003

[3]   W3C, "Extensible Markup Language (XML) 1.0 (Second Edition)"

[4]   M. Handley, C. Perkins, E. Whelan, "Session Announcement 
Protocol", IETF RFC 2974, October 2000

[5]   J. Rosenberg et al., "SIP: Session Initiation Protocol", 
IETF RFC 3261, June 2002

[6]   H. Schulzrinne, A. Rao, R. Lanphier, "Real Time Streaming 
Protocol (RTSP)", IETF RFC 2326, April 1998 and H. 
Schulzrinne et al., "Real Time Streaming Protocol (RTSP)", 
draft-ietf-mmusic-rfc2326bis-07.txt, July 2004

[7]   F. Andreasen, B. Foster, "Media Gateway Control Protocol 
(MGCP) Version 1.0", IETF RFC 3435, January 2003

[8]   M. Handley, V. Jacobson, "SDP: Session Description 
Protocol", IETF RFC 2327, April 1998 and M. Handley, V. 
Jacobson, C. Perkins, "SDP: Session Description Protocol", 
draft-ietf-mmusic-sdp-new-23.txt, December 2004

[9]   J. Ott, C. Perkins, "SDPng Transition", IETF Internet-Draft 
(draft-ietf-mmusic-sdpng-trans-04), May 2003

[10]   H. Schulzrinne et al., "RTP: A Transport Protocol for Real-
Time Applications", IETF RFC 3550, July 2003

[11]   H. Schulzrinne, S. Casner, "RTP Profile for Audio and Video 
Conferences with Minimal Control", IETF RFC 3551, July 2003

[12]   Beek, P. et al., "Information Technology - Multimedia 
Content Description Interface - Part 5: Multimedia 
Description Schemes", ISO/IEC JTC 1/SC 29/WG 11/N4242, 
October 2001

[13]   Wolf, I. et al.: MPEG-21 DIA based delivery using SDPng and 
RTP. ISO/IEC JTC1/SC29/WG11/ MPEG2004/M10996, July 2004


Guenkova, et al.         Expires August 11, 2005            [Page 23]


Internet-Draft               MPEG21 SDPng              February 2005


[14]   Altova GmbH & Altova Inc., XMLSpy IDE version 4.3, 
www.altova.com

[15]   Ch. Valentine, "XML Schemas", SYBEX, 2002


Authors' Addresses

   Teodora Guenkova-Luy
   Dept. Distributed Systems, University of Ulm, 
   Oberer Eselsberg, 89069 Ulm, Germany
   Tel: +49 (0)731 502-4148 
   Fax: +49 (0)731 502-4142 
   e-Mail: guenkova@vs.informatik.uni-ulm.de

   Andreas Schorr
   Dept. Distributed Systems, University of Ulm, 
   Oberer Eselsberg, 89069 Ulm, Germany
   Tel: +49 (0)731 502-4147
   Fax: +49 (0)731 502-4142
   e-Mail: schorr@informatik.uni-ulm.de

   Franz Hauck
   Dept. Distributed Systems, University of Ulm, 
   Oberer Eselsberg, 89069 Ulm, Germany
   Tel: +49 (0)731 502-4143
   Fax: +49 (0)731 502-4142
   e-Mail: hauck@informatik.uni-ulm.de

   Andreas Kassler
   Computer Science _Department, Karlstad University,
   Universitetgatan 2, 65188 Karlstad, Sweden
   Tel: ++46 (0)54 700-2168
   e-Mail: kassler@ieee.org

   Ingo Wolf
   T-Systems International GmbH 
   Goslarer Ufer 35, 10589 Berlin, Germany
   Tel:      +49 (0)30 3497 2526 
   Fax:      +49 (0)30 3497 2929 
   E-mail:   wolfi@t-systems.com

   Bernhard Feiten
   T-Systems International GmbH
   Goslarer Ufer 35, 10589 Berlin, Germany
   Tel: +49 (0)30 3497 2528
   Fax:      +49 (0)30 3497 2929 
   E-Mail: Bernhard.Feiten@t-systems.com




Guenkova, et al.         Expires August 11, 2005            [Page 24]


Internet-Draft               MPEG21 SDPng              February 2005


   Christian Timmerer
   Dept. of Information Technology, Klagenfurt University, 
   Universitaetsstrasse 65-67, 9020 Klagenfurt, Austria
   Tel: +43 (0)463 2700-3621 
   Fax: +43 (0)463 2700-3699 
   e-Mail: christian.timmerer@itec.uni-klu.ac.at

   Willem A. Romijn
   Lucent Technologies Nederland B.V.
   Larenseweg 50
   1221 CN  Hilversum
   The Netherlands
   Tel: +31 35 687 4672
   E-mail: romijn@lucent.com


Acknowledgements

The work described in this draft is based on results of IST FP6 
Integrated Project DAIDALOS. DAIDALOS receives research funding from 
the European Community's Sixth Framework Programme. Apart from this, 
the European Commission has no responsibility for the content of this 
draft. The information in this document is provided as is and no 
guarantee or warranty is given that the information is fit for any 
particular purpose. The user thereof uses the information at its sole 
risk and liability. 

Additional support has been provided by the DFG within the AKOM 
framework.


Copyright Notice

Copyright (C) The Internet Society (2005).  This document is subject 
to the rights, licenses and restrictions contained in BCP 78, and 
except as set forth therein, the authors retain all their rights. 


Liability notice

This document and the information contained herein are provided on an 
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.





Guenkova, et al.         Expires August 11, 2005            [Page 25]


Internet-Draft               MPEG21 SDPng              February 2005


Appendix A. MPEG-21 DIA and SDPng Integration XML Schemas 

The XML Schema [15] is a prescription how to structure and name the 
XML components belonging to a valid document specified by the schema. 
Herewith we define only the XML Schemas affected by the integration 
of SDPng and MPEG-21. A complete set of schemas necessary to build an 
integrated and valid SDPng/MPEG-21 document can be found in [1].


A.1. Enhanced SDPng XML-schema specification 

<xsd:schema targetNamespace="http://www.iana.org/sdpng" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:sdpng="http://www.iana.org/sdpng" 
elementFormDefault="qualified" attributeFormDefault="unqualified">

   <!--
  A data type for the "status" attribute 
  status=mandatory: feature match MUST be successful
  status=opt: optional feature, feature match MAY fail
-->

   <xsd:simpleType name="status">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="mandatory"/>
         <xsd:enumeration value="opt"/>
      </xsd:restriction>
   </xsd:simpleType>

<!-- Base type for definition elements -->

   <xsd:complexType name="Definition" abstract="true">
      <xsd:attribute name="name" type="xsd:string" use="optional"/>
      <xsd:attribute name="ref" type="xsd:string" use="optional"/>
<!-- href - New attribute for referencing external Definitions as 
some MPEG-21 definitions require -->
      <xsd:attribute name="href" type="xsd:string" use="optional"/>
   </xsd:complexType>

   <!--
Data type for the content model of mandatory feature elements of type
token
 -->

   <xsd:complexType name="token">
      <xsd:simpleContent>
         <xsd:extension base="xsd:NMTOKEN">
            <xsd:attribute name="status" type="sdpng:status"
             fixed="mandatory"/>
         </xsd:extension>
      </xsd:simpleContent>

Guenkova, et al.         Expires August 11, 2005            [Page 26]


Internet-Draft               MPEG21 SDPng              February 2005


   </xsd:complexType>

   <!-- 
Data type for the content model of optional feature elements of
type token
 -->

   <xsd:complexType name="opttoken">
      <xsd:simpleContent>
         <xsd:extension base="xsd:NMTOKEN">
            <xsd:attribute name="status" type="sdpng:status" 
                fixed="opt"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>

   <!--
Data type for the content model of mandatory feature elements of type
token list
-->

   <xsd:complexType name="tokenlist">
      <xsd:simpleContent>
         <xsd:extension base="xsd:NMTOKENS">
            <xsd:attribute name="status" type="sdpng:status" 
            fixed="mandatory"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>

   <!--
Data type for the content model of optional feature elements of type
token list
-->

   <xsd:complexType name="opttokenlist">
      <xsd:simpleContent>
         <xsd:extension base="xsd:NMTOKENS">
            <xsd:attribute name="status" type="sdpng:status" 
              fixed="opt"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>

   <!--
Data type for the content model of mandatory feature elements of type
numerical value
-->

   <xsd:complexType name="numval">
      <xsd:attribute name="status" type="sdpng:status" 

Guenkova, et al.         Expires August 11, 2005            [Page 27]


Internet-Draft               MPEG21 SDPng              February 2005


         fixed="mandatory"/>
      <xsd:attribute name="val" type="xsd:decimal"/>
   </xsd:complexType>

   <!--
Data type for the content model of optional feature elements of
type numerical value
-->

   <xsd:complexType name="optnumval">
      <xsd:attribute name="status" type="sdpng:status" fixed="opt"/>
      <xsd:attribute name="val" type="xsd:decimal"/>
   </xsd:complexType>

   <!--
New direction type as attribute in SDPng adopted from the SDP 
definition to specify the direction of the media streams
-->

   <xsd:simpleType name="directionType">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="recvonly"/>
         <xsd:enumeration value="sendonly"/>
         <xsd:enumeration value="sendrecv"/>
         <xsd:enumeration value="inactive"/>
      </xsd:restriction>
   </xsd:simpleType>

   <!--
New media type as attribute in SDPng to fix the types of used media 
definitions
-->

   <xsd:simpleType name="mediaType">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="audio|video|data"/>
      </xsd:restriction>
   </xsd:simpleType>

   <!--
New component name type as attribute in SDPng to specify the 
namespace for applied media streams
-->

   <xsd:simpleType name="componentNameType">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(audio|video|data)component[0-9]{1,3}"/>
      </xsd:restriction>
   </xsd:simpleType>

   <!--

Guenkova, et al.         Expires August 11, 2005            [Page 28]


Internet-Draft               MPEG21 SDPng              February 2005


New alt name type as attribute in SDPng to specify the namespace for 
applied alternative media stream definitions
-->

   <xsd:simpleType name="altNameType">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(audio|video|data)[0-9]{1,3}"/>
      </xsd:restriction>
   </xsd:simpleType>

   <!--
New constraint name type as attribute in SDPng to specify at what 
level of abstraction the respective constraint is applied
-->

   <xsd:simpleType name="constraintNameType">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="session|component|alt"/>
      </xsd:restriction>
   </xsd:simpleType>

   <!--
Data type for the content model of mandatory feature elements of type
numerical range
-->

   <xsd:complexType name="numrange">
      <xsd:attribute name="status" type="sdpng:status" 
         fixed="mandatory"/>
      <xsd:attribute name="min" type="xsd:decimal"/>
      <xsd:attribute name="max" type="xsd:decimal"/>
   </xsd:complexType>

   <!--
Data type for the content model of optional feature elements of
type numerical range
-->

   <xsd:complexType name="optnumrange">
      <xsd:attribute name="status" type="sdpng:status" fixed="opt"/>
      <xsd:attribute name="min" type="xsd:decimal"/>
      <xsd:attribute name="max" type="xsd:decimal"/>
   </xsd:complexType>

   <!--
New Base type for definition of constraint elements to include 
possibility for referencing of other components by their name. These 
components shall be constraint then with the constraint definition.  
 -->

   <xsd:complexType name="Constraint" abstract="true">

Guenkova, et al.         Expires August 11, 2005            [Page 29]


Internet-Draft               MPEG21 SDPng              February 2005


      <xsd:attribute name="name" type="sdpng:constraintNameType" 
       use="optional"/>
<!-- New definition of the reference-->
      <xsd:attribute name="ref" type="xsd:string" use="optional"/>
   </xsd:complexType>

   <!-- The base element for constraint element -->
   <xsd:element name="constraint" type="sdpng:Constraint" 
     abstract="true"/>
   
<!-- 
New Base type for information elements to include possibility for 
reference other components by their name 
in order to define additional information about these components
-->

   <xsd:complexType name="Information" abstract="true">
      <xsd:attribute name="name" type="xsd:string" use="optional"/>
<!-- New definition of the reference-->
      <xsd:attribute name="ref" type="xsd:string" use="optional"/>
   </xsd:complexType>

   <!-- The base element for constraint element -->

   <xsd:element name="information" type="sdpng:Information" 
     abstract="true"/>
   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--
SDPng document structure
-->
   <xsd:element name="sdpng">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="sdpng:cap"/>
            <xsd:element ref="sdpng:def" minOccurs="0"/>
            <xsd:element ref="sdpng:cfg"/>
            <xsd:element ref="sdpng:constraints" minOccurs="0"/>
            <xsd:element ref="sdpng:info" minOccurs="0"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
   <!-- The base element for capability and definition elements -->
   <xsd:element name="definition" abstract="true">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="sdpng:Definition"/>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <!-- The mandatory "cap" element -->
   <xsd:element name="cap">

Guenkova, et al.         Expires August 11, 2005            [Page 30]


Internet-Draft               MPEG21 SDPng              February 2005


      <xsd:complexType mixed="false">
         <xsd:sequence>
            <xsd:element ref="sdpng:definition" 
                maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
   <!-- The optional "def" element -->
   <xsd:element name="def">
      <xsd:complexType mixed="false">
         <xsd:sequence>
            <xsd:element ref="sdpng:definition" 
                  maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
   <!-- The mandatory "cfg" element -->
   <xsd:element name="cfg">
      <xsd:complexType mixed="false">
         <xsd:sequence>
            <xsd:element ref="sdpng:component" 
                maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
   <!-- The "component" element -->
   <xsd:element name="component">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="sdpng:alt" maxOccurs="unbounded"/>
         </xsd:sequence>
<!-- New definition of the name attribute-->
         <xsd:attribute name="name" type="sdpng:componentNameType"/>
<!-- New definition of the media attribute-->
         <xsd:attribute name="media" type="sdpng:mediaType"/>
<!-- New definition of the direction attribute-->
         <xsd:attribute name="direction" type="sdpng:directionType" 
         use="optional"/>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="alt">
      <xsd:complexType mixed="false">
         <xsd:sequence>
            <xsd:element ref="sdpng:definition" 
                 maxOccurs="unbounded"/>
         </xsd:sequence>
<!-- New definition of the name attribute-->
         <xsd:attribute name="name" type="sdpng:altNameType"/>
      </xsd:complexType>
   </xsd:element>


Guenkova, et al.         Expires August 11, 2005            [Page 31]


Internet-Draft               MPEG21 SDPng              February 2005


<!-- The optional "constraints" element -->

   <xsd:element name="constraints">
      <xsd:complexType mixed="false">
         <xsd:sequence>
            <xsd:element ref="sdpng:constraint" 
                 maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>

<!-- The optional "info" element -->

   <xsd:element name="info">
      <xsd:complexType mixed="false">
         <xsd:sequence>
            <xsd:element ref="sdpng:information" 
                  maxOccurs="unbounded"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>


A.2. Enhanced RTP Package XML-schema specification 

<xsd:schema targetNamespace="http://www.iana.org/sdpng/rtp" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:rtp="http://www.iana.org/sdpng/rtp" 
xmlns:sdpng="http://www.iana.org/sdpng" 
elementFormDefault="qualified" attributeFormDefault="unqualified">

<!-- The following import changes the parent instance of the rtp 
package to adopt the changes in the parent sdpng schema-->
<xsd:import namespace="http://www.iana.org/sdpng" 
schemaLocation="sdpng-base++.xsd"/>

<!-- New format type defintion (fmtp) attribute adopted partially 
from the SDP definition-->

   <xsd:complexType name="fmtpType">
      <xsd:simpleContent>
         <xsd:extension base="xsd:string">
            <xsd:attribute name="key"/>
            <xsd:attribute name="unit"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>

<!-- New definition of the RTP payload type to include the fmtp 
definitions as adoption from SDP -->

Guenkova, et al.         Expires August 11, 2005            [Page 32]


Internet-Draft               MPEG21 SDPng              February 2005



   <xsd:complexType name="pt">
      <xsd:sequence>
         <xsd:element name="fmtp" type="rtp:fmtpType" minOccurs="0" 
          maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>

<!-- New definition of the RTP payload type to include definitions of 
number of channels and frequency as specified in the RTP/AVP RFC 3551 
-->
   <xsd:complexType name="ptType">
      <xsd:complexContent>
         <xsd:extension base="rtp:pt">
            <xsd:attribute name="pt" type="xsd:integer" 
                use="required"/>
            <xsd:attribute name="chan" type="xsd:integer" 
                 use="optional"/>
            <xsd:attribute name="frequency" type="xsd:integer" 
            use="optional"/>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>

<!-- Original SDPng definition of the IPVersion type-->

   <xsd:complexType name="IPVersion">
      <xsd:simpleContent>
         <xsd:restriction base="sdpng:tokenlist">
            <xsd:enumeration value="IP4"/>
            <xsd:enumeration value="IP6"/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>

<!-- Original SDPng definition of the RTPUDP type-->

   <xsd:complexType name="RTPUDP">
      <xsd:complexContent>
         <xsd:extension base="sdpng:Definition">
            <xsd:all>
               <xsd:element name="network" type="rtp:IPVersion" 
              minOccurs="0"/>
               <xsd:element name="ip-addr" type="sdpng:opttoken" 
              minOccurs="0"/>
               <xsd:element name="rtp-port" type="sdpng:opttoken" 
              minOccurs="0"/>
               <xsd:element name="rtcp-port" type="sdpng:opttoken" 
              minOccurs="0"/>
               <xsd:element name="pt" type="rtp:ptType" 
                    minOccurs="0"/>

Guenkova, et al.         Expires August 11, 2005            [Page 33]


Internet-Draft               MPEG21 SDPng              February 2005


            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <xsd:element name="udp" type="rtp:RTPUDP"  
     substitutionGroup="sdpng:definition"/>
</xsd:schema>


A.3. Enhanced Audio Package XML-schema specification 

<xsd:schema targetNamespace="http://www.iana.org/sdpng/audio" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:audio="http://www.iana.org/sdpng/audio" 
xmlns:sdpng="http://www.iana.org/sdpng" 
elementFormDefault="qualified" attributeFormDefault="unqualified">

<!-- The following import changes the parent instance of the audio 
package to adopt the changes in the parent sdpng schema-->

<xsd:import namespace="http://www.iana.org/sdpng" 
schemaLocation="sdpng-base++.xsd"/>
   <xsd:complexType name="Codec">
      <xsd:complexContent>
         <xsd:extension base="sdpng:Definition">
            <xsd:all>
               <xsd:element name="encoding" type="sdpng:token" 
              minOccurs="0"/>
               <xsd:element name="channels" type="sdpng:tokenlist" 
              minOccurs="0"/>
               <xsd:element name="sampling" type="sdpng:tokenlist" 
              minOccurs="0"/>
            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <xsd:element name="codec" type="audio:Codec" 
       substitutionGroup="sdpng:definition"/>
</xsd:schema>


A.4. Enhanced Video Package XML-schema specification 

<xsd:schema targetNamespace="http://www.iana.org/sdpng/video" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:video="http://www.iana.org/sdpng/video" 
xmlns:sdpng="http://www.iana.org/sdpng" 
elementFormDefault="qualified" attributeFormDefault="unqualified">

<!-- The following import changes the parent instance of the video 
package to adopt the changes in the parent sdpng schema-->

Guenkova, et al.         Expires August 11, 2005            [Page 34]


Internet-Draft               MPEG21 SDPng              February 2005


<xsd:import namespace="http://www.iana.org/sdpng"  
  schemaLocation="sdpng-base++.xsd"/>
   <xsd:complexType name="Codec">
      <xsd:complexContent>
         <xsd:extension base="sdpng:Definition">
            <xsd:all>
               <xsd:element name="encoding" type="sdpng:token" 
               minOccurs="0"/>
               <xsd:element name="sampling" type="sdpng:tokenlist" 
               minOccurs="0"/>
               <xsd:element name="framerate" 
                    type="sdpng:opttokenlist" 
               minOccurs="0"/>
               <xsd:element name="size" type="sdpng:opttokenlist" 
               minOccurs="0"/>
               <xsd:element name="bitrate" type="sdpng:optnumrange" 
               minOccurs="0"/>
               <xsd:element name="min-quant" type="sdpng:optnumval" 
               minOccurs="0"/>
               <xsd:element name="max-quant" type="sdpng:optnumval" 
               minOccurs="0"/>
               <xsd:element name="gop-size" type="sdpng:optnumval" 
               minOccurs="0"/>
            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <xsd:element name="codec" type="video:Codec" 
       substitutionGroup="sdpng:definition"/>
</xsd:schema>


A.5. Integration of MPEG-21 DIA definitions - DIA XML-Schema

<xsd:schema targetNamespace="http://www.iana.org/sdpng/sdpng-dia" 
xmlns:sdpng="http://www.iana.org/sdpng" 
xmlns:sdpng-dia="http://www.iana.org/sdpng/sdpng-dia" 
xmlns:gbsd="urn:mpeg:mpeg21:2003:01-DIA-gBSD-NS" 
xmlns:m21-dia="urn:mpeg:mpeg21:2003:01-DIA-NS" 
xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" attributeFormDefault="unqualified">
   <!-- The following imports represent the integration of the SDPng 
and 
the MPEG-21 DIA namespaces -->
   <xsd:import namespace="http://www.iana.org/sdpng" 
schemaLocation="sdpng-base++.xsd"/>
   <xsd:import namespace="urn:mpeg:mpeg21:2003:01-DIA-NS" 
schemaLocation="DIA.xsd"/>
   <xsd:import namespace="urn:mpeg:mpeg21:2003:01-DIA-NS" 
schemaLocation="UED.xsd"/>

Guenkova, et al.         Expires August 11, 2005            [Page 35]


Internet-Draft               MPEG21 SDPng              February 2005


   <xsd:import namespace="urn:mpeg:mpeg21:2003:01-DIA-NS" 
schemaLocation="AQoS.xsd"/>
   <xsd:import namespace="urn:mpeg:mpeg21:2003:01-DIA-NS" 
schemaLocation="BSDLink.xsd"/>
   <xsd:import namespace="urn:mpeg:mpeg21:2003:01-DIA-gBSD-NS" 
schemaLocation="gBSSchema.xsd"/>
   <!-- New application of sdpng Definition type as MPEG-21 DIA 
definition type -->
   <xsd:complexType name="mpeg21DIA-definition">
      <xsd:complexContent>
         <xsd:extension base="sdpng:Definition">
            <xsd:all>
               <xsd:element name="MPEG21-DIA" 
                 type="m21-dia:UsageEnvironmentType" minOccurs="0"/>
            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <xsd:element name="mpeg21-DIA-definition" 
      type="sdpng-dia:mpeg21DIA-definition" 
      substitutionGroup="sdpng:definition"/>
   <!-- Definition of the MPEG-21 gBSD information type for SDPng -->
   <xsd:complexType name="bsdHullType">
      <xsd:complexContent>
         <xsd:extension base="m21-dia:DIADescriptionType">
            <xsd:all>
               <xsd:element name="Description" 
                 type="m21-dia:DIADescriptionType" minOccurs="0"/>
            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <!-- Definition of the MPEG-21 constraint type for SDPng -->
   <xsd:complexType name="mpeg21DIA-constraint">
      <xsd:complexContent>
         <xsd:extension base="sdpng:Constraint">
            <xsd:all>
               <xsd:element name="MPEG21-DIA" 
type="m21-dia:DIADescriptionType" minOccurs="0"/>
            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <!-- Extention of the MPEG-21 constraint type for SDPng for 
         applying of BSD links-->
   <xsd:element name="mpeg21-DIA-constraint" 
     type="sdpng-dia:mpeg21DIA-constraint" 
     substitutionGroup="sdpng:constraint"/>
   <xsd:complexType name="BSDLiveLinkType">
      <xsd:complexContent>
         <xsd:extension base="sdpng:Information">

Guenkova, et al.         Expires August 11, 2005            [Page 36]


Internet-Draft               MPEG21 SDPng              February 2005


            <xsd:all>
               <xsd:element name="bsdLink" 
                 type="m21-dia:BSDLinkType" minOccurs="0"/>
               <xsd:element name="bsdHull" 
                 type="sdpng-dia:bsdHullType" minOccurs="0"/>
            </xsd:all>
         </xsd:extension>
      </xsd:complexContent>
   </xsd:complexType>
   <xsd:element name="BSDLiveLink" type="sdpng-dia:BSDLiveLinkType" 
substitutionGroup="sdpng:information"/>
</xsd:schema>


A.6. MPEG User Environment enhancement - UED XML-Schema snippet

<!-- ################################################   -->
<!--  Definition of CodecCapabilities        -->
<!-- ################################################   -->
<complexType name="CodecCapabilitiesType">
   <complexContent>
      <extension base="dia:TerminalCapabilityBaseType">
         <sequence>
            <element name="Decoding" 
               type="dia:CodecCapabilityBaseType" 
             minOccurs="0" maxOccurs="unbounded"/>
            <element name="Encoding" 
               type="dia:CodecCapabilityBaseType" 
             minOccurs="0" maxOccurs="unbounded"/>
            <element name="DecodingEncoding" 
               type="dia:CodecCapabilityBaseType" minOccurs="0"   
             maxOccurs="unbounded"/>
            </sequence>
         </extension>
      </complexContent>
   </complexType>


A.7. SDPng info package XML schema definition

<xsd:schema targetNamespace="http://www.iana.org/sdpng/info" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:info="http://www.iana.org/sdpng/info" 
xmlns:sdpng="http://www.iana.org/sdpng" 
elementFormDefault="qualified" attributeFormDefault="unqualified">

<!-- This is a novel package definition to adopt the usage of BSD 
links. The following import indicates the extended sdpng schema as 
parent schema of this definition-->
<xsd:import namespace="http://www.iana.org/sdpng" 
schemaLocation="sdpng-base++.xsd"/>

Guenkova, et al.         Expires August 11, 2005            [Page 37]


Internet-Draft               MPEG21 SDPng              February 2005



</xsd:schema>

A.8. Additional information on used packages belonging to the MPEG-
7 and MPEG-21 XML-Schemas

Additional schemas that are applied for generation of the examples in 
this document and belonging to MPEG-7 [12] and MPEG-21 DIA XML schema 
[1] are:

o   Schema for terminal and network quality of service tools - 
AQoS.xsd

o   Schemas for Stack Function Data Types - ArgumentTypes.xsd and 
BaseStackFunction.xsd

o   Bitstream description schemas - BSDL-1.xsd, BSDLink.xsd and 
gBSSchema.xsd

o   MPEG-21 DIA schema for basic schema tools - DIA.xsd

o   Schemas for data descriptions Data Types - MatrixDatatypes.xsd, 
SingleValueDatatypes.xsd, UnsignedIntegers.xsd and 
VectorDatatypes.xsd

o   Multimedia Content Description Interface - Part 9: MPEG-7 
Profiles 
and Levels - mpeg7-udp-2003.xsd

o   Schema for universal constraints description tools - UCD.xsd

o   Schema for Usage Environment Description Tools - UED.xsd

o   XML W3C schema for xml:lang and xml:space attributes - xml-
1998.xsd


Appendix B. Example document of SDPng and MPEG-21 DIA integration 

<?xml version="1.0" encoding="UTF-8"?>

<sdpng xsi:schemaLocation="http://www.iana.org/sdpng sdpng-base++.xsd 
http://www.iana.org/sdpng/rtp sdpng-rtp-pkg++.xsd  
http://www.iana.org/sdpng/audio sdpng-audio-pkg++.xsd 
http://www.iana.org/sdpng/video  sdpng-video-pkg++.xsd 
http://www.iana.org/sdpng/info  sdpng-info-pkg++.xsd 
http://www.iana.org/sdpng/mpeg21-dia mpeg21-dia-pkg++.xsd" 
xmlns="http://www.iana.org/sdpng" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:audio="http://www.iana.org/sdpng/audio" 
xmlns:video="http://www.iana.org/sdpng/video" 
xmlns:rtp="http://www.iana.org/sdpng/rtp" 

Guenkova, et al.         Expires August 11, 2005            [Page 38]


Internet-Draft               MPEG21 SDPng              February 2005


xmlns:info="http://www.iana.org/sdpng/info" 
xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" 
xmlns:m21-dia="urn:mpeg:mpeg21:2003:01-DIA-NS" 
xmlns:sdpng-dia="http://www.iana.org/sdpng/sdpng-dia" 
xmlns:bs1="urn:mpeg:mpeg21:2003:01-DIA-BSDL1-NS" 
xmlns:gbsd="urn:mpeg:mpeg21:2003:01-DIA-gBSD-NS">
   <cap>
      <sdpng-dia:mpeg21-DIA-definition>
         <sdpng-dia:MPEG21-DIA>
            <m21-dia:UsageEnvironmentProperty 
               xsi:type="m21-dia:TerminalsType">
               <m21-dia:Terminal>
                  <m21-dia:TerminalCapability 
                      xsi:type="m21-dia:CodecCapabilitiesType">
                     <m21-dia:Decoding 
                       xsi:type="m21-dia:AudioCapabilitiesType">
                        <m21-dia:Format 
             href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1">
                           <mpeg7:Name xml:lang="en">
                MPEG-4 Mobile Audio Internetworking Profile @ Level 1
                           </mpeg7:Name>
                        </m21-dia:Format>
                        <m21-dia:Format 
             href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:4.4">
                           <mpeg7:Name xml:lang="en">MP3</mpeg7:Name>
                        </m21-dia:Format>
                     </m21-dia:Decoding>
                     <m21-dia:Decoding 
                       xsi:type="m21-dia:VideoCapabilitiesType">
                        <m21-dia:Format 
                  href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:7">
                           <mpeg7:Name xml:lang="en">
                            H261
                           </mpeg7:Name>
                        </m21-dia:Format>
                        <m21-dia:Format 
                  href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:8">
                           <mpeg7:Name xml:lang="en">
                             H263
                           </mpeg7:Name>
                        </m21-dia:Format>
                     </m21-dia:Decoding>
                  </m21-dia:TerminalCapability>
               </m21-dia:Terminal>
            </m21-dia:UsageEnvironmentProperty>
            <m21-dia:UsageEnvironmentProperty 
                xsi:type="m21-dia:TerminalsType">
               <m21-dia:Terminal>
                  <m21-dia:TerminalCapability 
                    xsi:type="m21-dia:CodecCapabilitiesType">
                     <m21-dia:Decoding 

Guenkova, et al.         Expires August 11, 2005            [Page 39]


Internet-Draft               MPEG21 SDPng              February 2005


                        xsi:type="m21-dia:AudioCapabilitiesType">
                        <m21-dia:Format 
             href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1">
                           <mpeg7:Name xml:lang="en">
                MPEG-4 Mobile Audio Internetworking Profile @ Level 1
                           </mpeg7:Name>
                        </m21-dia:Format>
                        <m21-dia:Format 
               href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:4.4">
                           <mpeg7:Name xml:lang="en">MP3</mpeg7:Name>
                        </m21-dia:Format>
                     </m21-dia:Decoding>
                     <m21-dia:Decoding 
                       xsi:type="m21-dia:VideoCapabilitiesType">
                        <m21-dia:Format 
                  href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:7">
                           <mpeg7:Name xml:lang="en">
                             H261
                           </mpeg7:Name>
                        </m21-dia:Format>
                        <m21-dia:Format 
                  href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:8">
                           <mpeg7:Name xml:lang="en">
                             H263
                           </mpeg7:Name>
                        </m21-dia:Format>
                     </m21-dia:Decoding>
                  </m21-dia:TerminalCapability>
               </m21-dia:Terminal>
            </m21-dia:UsageEnvironmentProperty>
         </sdpng-dia:MPEG21-DIA>
      </sdpng-dia:mpeg21-DIA-definition>
   </cap>
   <!-- ++++++++++++++end of cap +++++++++++++++++++++++++ -->
   <def>
      <rtp:udp name="rtp-cfg1">
         <rtp:network>IP6</rtp:network>
         <rtp:ip-addr>::1</rtp:ip-addr>
         <rtp:rtp-port>9546</rtp:rtp-port>
      </rtp:udp>
      <rtp:udp name="rtp-cfg2">
         <rtp:network>IP6</rtp:network>
         <rtp:ip-addr>::1</rtp:ip-addr>
         <rtp:rtp-port>9948</rtp:rtp-port>
         <!-- attributes are optional, except 'pt' -->
         <rtp:pt pt="31"/>
      </rtp:udp>
      <rtp:udp name="rtp-cfg3">
         <rtp:network>IP6</rtp:network>
         <rtp:ip-addr>::1</rtp:ip-addr>
         <rtp:rtp-port>9548</rtp:rtp-port>

Guenkova, et al.         Expires August 11, 2005            [Page 40]


Internet-Draft               MPEG21 SDPng              February 2005


         <rtp:pt pt="34"/>
      </rtp:udp>
   </def>
   <!-- ++++++++++++end of <def> ++++++++++++ -->
   <cfg>
      <!-- *****
each "component" element correponds the usage of "m=" lines in SDP
*****-->
      <component name="audiocomponent001" 
         media="audio" direction="recvonly">
         <!--**********************************
"alt" element maps codec and rtp definition in a single and unique 
definition. Corresponds approximately the usage of "a=" lines in SDP 
         ************************************-->
         <alt name="audio001">
            <audio:codec 
            href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:5.8.1"/>
            <rtp:udp ref="rtp-cfg1">
               <rtp:pt pt="99">
                  <rtp:fmtp key="streamtype">3</rtp:fmtp>
                  <!--  specific format parameters-->
                  <rtp:fmtp key="maxPS" unit="Byte">1500</rtp:fmtp>
                  <!-- maximum packet size-->
                  <rtp:fmtp key="maxBS" unit="kbit">1000</rtp:fmtp>
                  <!-- maximum burst size-->
               </rtp:pt>
            </rtp:udp>
         </alt>
         <alt name="audio002">
            <audio:codec 
              href="urn:mpeg:mpeg7:cs:AudioCodingFormatCS:2001:4.4"/>
            <rtp:udp ref="rtp-cfg1">
               <rtp:pt pt="86" frequency="8000" chan="2">
                  <rtp:fmtp key="bitrate">16000</rtp:fmtp>
               </rtp:pt>
            </rtp:udp>
         </alt>
      </component>
      <component name="videocomponent001" 
             media="video" direction="recvonly">
         <alt name="video001">
            <video:codec 
                 href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:7"/>
            <rtp:udp ref="rtp-cfg2"/>
         </alt>
         <alt name="video002">
            <video:codec 
                 href="urn:mpeg:mpeg7:cs:VisualFileFormatCS:2001:8"/>
            <rtp:udp ref="rtp-cfg3"/>
         </alt>
      </component>

Guenkova, et al.         Expires August 11, 2005            [Page 41]


Internet-Draft               MPEG21 SDPng              February 2005


   </cfg>
   <!-- +++++++++++++end of cfg +++++++++++ -->
   <constraints>
      <constraint name="session" 
           xsi:type="sdpng-dia:mpeg21DIA-constraint">
         <sdpng-dia:MPEG21-DIA xsi:type="m21-dia:TerminalsType">
            <m21-dia:Terminal>
               <m21-dia:TerminalCapability 
                   xsi:type="m21-dia:DisplaysType">
<!-- **********************************
Display capabilities. 
Some of the SDP "a=" definitions for video and display parameters can 
be expressed with this element
***************************************-->
                  <m21-dia:Display>
                     <m21-dia:DisplayCapability 
                       xsi:type="m21-dia:DisplayCapabilityType" 
                       colorCapable="true" contrastRatio="700" 
                       refreshRate="30">
                        <m21-dia:Mode>
                           <m21-dia:Resolution 
                               horizontal="176" vertical="144"/>
                        </m21-dia:Mode>
                        <m21-dia:ColorBitDepth 
                           blue="8" green="8" red="8"/>
                        <m21-dia:CharacterSetCode>
                           US-ASCII
                        </m21-dia:CharacterSetCode>
                     </m21-dia:DisplayCapability>
                  </m21-dia:Display>
               </m21-dia:TerminalCapability>
<!--*******  Audio Outputs capabilities. Some of the SDP "a=" 
definitions for audio parameters can be expressed with this 
element*********-->
               <m21-dia:TerminalCapability 
                     xsi:type="m21-dia:AudioOutputsType">
                  <m21-dia:AudioOutput>
                     <m21-dia:AudioOutputCapability 
                      numChannels="2" 
                      xsi:type="m21-dia:AudioOutputCapabilitiesType">
                        <m21-dia:Mode id="ID" 
                          samplingFrequency="44100" 
                          bitsPerSample="16"/>
                     </m21-dia:AudioOutputCapability>
                  </m21-dia:AudioOutput>
               </m21-dia:TerminalCapability>
<!--******  Data I/Os capabilities, e.g. for network technology 
descriptions***-->
               <m21-dia:TerminalCapability 
                  xsi:type="m21-dia:DataIOsType">
                  <m21-dia:DataIO>

Guenkova, et al.         Expires August 11, 2005            [Page 41]


Internet-Draft               MPEG21 SDPng              February 2005


                     <m21-dia:DataIOCharacteristic 
                        xsi:type="m21-dia:DataIOCharacteristicsType" 
                        busWidth="1000" id="id" 
                        maxDevices="1" numDevices="1" 
                        transferSpeed="1000"/>
                  </m21-dia:DataIO>
               </m21-dia:TerminalCapability>
            </m21-dia:Terminal>
         </sdpng-dia:MPEG21-DIA>
      </constraint>
<!-- **************************************
A "constraint" on the network performance. 
This element partially corresponds the SDP "b=" line. Some of the SDP 
"a=rtpmap:" lines expressing network performance constraints can also 
be mapped here
********************************************* -->
      <constraint name="component" 
         ref="videostream001" 
         xsi:type="sdpng-dia:mpeg21DIA-constraint">
         <sdpng-dia:MPEG21-DIA xsi:type="m21-dia:NetworksType">
            <m21-dia:Network>
               <m21-dia:NetworkCharacteristic 
                   maxCapacity="384000" minGuaranteed="32000" 
                   xsi:type="m21-dia:NetworkCapabilityType"/>
               <m21-dia:NetworkCharacteristic 
                   xsi:type="m21-dia:NetworkConditionType">
                  <m21-dia:AvailableBandwidth average="80000" 
                   maximum="256000" minimum="330"/>
                  <m21-dia:Delay delayVariation="66" 
                   packetTwoWay="330"/>
                  <m21-dia:Error packetLossRate="0.05"/>
               </m21-dia:NetworkCharacteristic>
            </m21-dia:Network>
         </sdpng-dia:MPEG21-DIA>
      </constraint>
   </constraints>
   <!--++++++++++++++++++end of constraints+++++++++++++++ -->
   <info>
<!-- this element describes MPEG BSD Links as additional information 
for the media performance-->
      <sdpng-dia:BSDLiveLink ref="audiocomponent001">
         <sdpng-dia:bsdLink>
            <m21-dia:SteeringDescriptionRef uri="AQoS_bsac.xml"/>
            <m21-dia:BSDRef uri="#mysong_bsac_bsd"/>
            <m21-dia:BSDTransformationRef uri="bsac.xsl" 
                type="http://www.w3.org/1999/XSL/Transform"/>
            <m21-dia:Parameter 
                xsi:type="m21-dia:IOPinRefType" name="nlayers">
               <m21-dia:Value>
                 LAYERS_OF_SCALABLE_AUDIO
               </m21-dia:Value>

Guenkova, et al.         Expires August 11, 2005            [Page 43]


Internet-Draft               MPEG21 SDPng              February 2005


            </m21-dia:Parameter>
         </sdpng-dia:bsdLink>
         <sdpng-dia:bsdHull>
            <sdpng-dia:Description xsi:type="gbsd:gBSDType" 
              addressUnit="bit" addressMode="Absolute" 
              bs1:bitstreamURI=" mysong.bsac " id="mysong_bsac_bsd">
               <gbsd:gBSDUnit length="18"/>
            </sdpng-dia:Description>
         </sdpng-dia:bsdHull>
      </sdpng-dia:BSDLiveLink>
   </info>
</sdpng>








































Guenkova, et al.         Expires August 11, 2005            [Page 44]