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]