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 "" always indicate single unbreakable lines. Additionally the conventional ordering of the XML hierarchical elements appears as hierarchical tree layout. The lines delimited with "" brackets are XML-comments that are used where appropriate to improve the readability of the XML code. The information between "" 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 element of SDPng: Guenkova, et al. Expires August 11, 2005 [Page 7] Internet-Draft MPEG21 SDPng February 2005 MPEG-4 Mobile Audio Internetworking Profile @ Level 1 MP3 H261 H263 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 ; ; ; and 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 and the elements have to define their specific structure for the purpose of the respective XML document description. Consequently, the specific meaning and structure of and 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 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 - describes the decoding capabilities of the terminal o - describes the encoding capabilities of the terminal o - describes that the capabilities for this specification are used both for decoding and encoding. Note, that only the definitions and belong to the MPEG-21 DIA standard definition of Usage Environments [1]. The definition 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 ( and ) for one and the same codec. Additionally, 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 elements are containers for the specification of audio and video codecs that are used for decoding only. The element 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 of indicates the MPEG-7 name of the codec. The attribute "xml:lang" within 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 is optional, as the codec is fully specified over the link to a classification scheme (i.e. the "href" attribute). However, the 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 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: IP6 ::1 9546 16000 One of the proposed changes to the original SDPng definition is in the element (belonging to the 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 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 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 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 . The "unit" defines the unit of the value if this value is a measurable parameter. The usage of 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 "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: 1500 1000 Guenkova, et al. Expires August 11, 2005 [Page 12] Internet-Draft MPEG21 SDPng February 2005 The specification of the application configuration is quite similar to the original SDPng definition [2] with the following exceptions: o The and the 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 (see also Section 3.2.1) and their referencing within the 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 attributes "name", "media" and "direction" are fixed using regular expressions (see also Section 4.2 and Appendix A.1). o The name of the 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 element. Every element defines an association of a codec definition (e.g. and are such definitions) and RTP definition. As the RTP definition might be already available through an element in the container (see Section 3.2.2) this definition is referenced through the "ref" attribute of the 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 element might not be completed within the element, i.e. only IP-addresses and ports are defined but no payload types. Therefore, the definition can be completed later within the element as shown for the audio stream in the example above. The specification of more general definitions in the element allows their reuse and extension for more specific application needs in the element. This separation of more general and specific definitions of the 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 , media-stream definitions specified with 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: US-ASCII Guenkova, et al. Expires August 11, 2005 [Page 15] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 16] Internet-Draft MPEG21 SDPng February 2005 The specification of the following two elements is important for the correct definition of constraints at the terminal or at the network: and 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 element of SDPng requires additional performance constraints that are defined by referring this component from within the element. The "xsi:type" of the 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 (). 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]. LAYERS_OF_SCALABLE_AUDIO 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 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 identifies the parameters that shall be considered for the adaptation process. The 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: 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 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 names above). The same pattern is used for referencing such a medium configuration (see also the definition of 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 Guenkova, et al. Expires August 11, 2005 [Page 26] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 29] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 30] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 31] Internet-Draft MPEG21 SDPng February 2005 A.2. Enhanced RTP Package XML-schema specification Guenkova, et al. Expires August 11, 2005 [Page 32] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 33] Internet-Draft MPEG21 SDPng February 2005 A.3. Enhanced Audio Package XML-schema specification A.4. Enhanced Video Package XML-schema specification Guenkova, et al. Expires August 11, 2005 [Page 34] Internet-Draft MPEG21 SDPng February 2005 A.5. Integration of MPEG-21 DIA definitions - DIA XML-Schema Guenkova, et al. Expires August 11, 2005 [Page 35] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 36] Internet-Draft MPEG21 SDPng February 2005 A.6. MPEG User Environment enhancement - UED XML-Schema snippet A.7. SDPng info package XML schema definition Guenkova, et al. Expires August 11, 2005 [Page 37] Internet-Draft MPEG21 SDPng February 2005 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 MPEG-4 Mobile Audio Internetworking Profile @ Level 1 MP3 H261 H263 MPEG-4 Mobile Audio Internetworking Profile @ Level 1 MP3 H261 H263 IP6 ::1 9546 IP6 ::1 9948 IP6 ::1 9548 Guenkova, et al. Expires August 11, 2005 [Page 40] Internet-Draft MPEG21 SDPng February 2005 3 1500 1000 16000 Guenkova, et al. Expires August 11, 2005 [Page 41] Internet-Draft MPEG21 SDPng February 2005 US-ASCII Guenkova, et al. Expires August 11, 2005 [Page 41] Internet-Draft MPEG21 SDPng February 2005 LAYERS_OF_SCALABLE_AUDIO Guenkova, et al. Expires August 11, 2005 [Page 43] Internet-Draft MPEG21 SDPng February 2005 Guenkova, et al. Expires August 11, 2005 [Page 44]