CLUE Working Group R. Presta Internet-Draft S P. Romano Intended status: Informational University of Napoli Expires: March 31, 2013 September 27, 2012 An XML Schema for the CLUE data model draft-presta-clue-data-model-schema-00 Abstract This document provides an XML schema file for the definition of CLUE data model types. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on March 31, 2013. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Presta & Romano Expires March 31, 2013 [Page 1]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Sample XML file . . . . . . . . . . . . . . . . . . . . . . . 9 5. Informative References . . . . . . . . . . . . . . . . . . . . 14 Presta & Romano Expires March 31, 2013 [Page 2]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 1. Introduction This document provides an XML schema file for the definition of CLUE data model types. The schema is based on information contained in [I-D.ietf-clue-framework] and also relates to the data model sketched in [I-D.romanow-clue-data-model]. The document actually represents a strawman proposal aiming at the definition of a coherent structure for all the information associated with the description of a telepresence scenario. 2. Terminology [TBD] Copy text from framework document. 3. XML Schema This section contains the proposed CLUE data model schema definition. The overall structure of the CLUE data has been derived starting from a data type called "clueInfoType" which comprises the following subelements: mediaCaptures: the list of media captures available captureScenes: the list of capture scenes encodings: the list of individual encodings encodingGroups: the list of encodings which have been grouped together simultaneousSets: the list of simultaneous capture sets All of the above elements refer to concepts that have been introduced and explained in [I-D.ietf-clue-framework] and [I-D.romanow-clue-data-model]. Indeed, the mapping is not exactly one-to-one because: (i) some details of the current data model were not clear enough to be properly included in the schema herein presented; (ii) we slightly modified naming conventions in order to let schema elements better adhere to current XML best naming practices; (iii) we sometimes changed the structure of some of the data elements presented in [I-D.romanow-clue-data-model] in order to enhance the semantic expressiveness of CLUE XML documents. <?xml version="1.0" encoding="UTF-8" ?> <xs:schema targetNamespace="urn:ietf:params:xml:ns:clue-info" Presta & Romano Expires March 31, 2013 [Page 3]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 xmlns:tns="urn:ietf:params:xml:ns:clue-info" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:ietf:params:xml:ns:clue-info" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!--This imports the xml:language definition--> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> <!-- CLUE INFO ELEMENT --> <xs:element name="clueInfo" type="clueInfoType"/> <!-- CLUE INFO TYPE --> <xs:complexType name="clueInfoType"> <xs:sequence> <xs:element name="mediaCaptures" type="mediaCapturesType"/> <xs:element name="captureScenes" type="captureScenesType"/> <xs:element name="encodings" type="encodingsType"/> <xs:element name="encodingGroups" type="encodingGroupsType"/> <xs:element name="simultaneousSets" type="simultaneousSetsType"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- MEDIA CAPTURES TYPE --> <xs:complexType name="mediaCapturesType"> <xs:sequence> <xs:element name="mediaCapture" type="mediaCaptureType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- MEDIA CAPTURE TYPE --> <xs:complexType name="mediaCaptureType" abstract="true"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="encGroupIDREF" type="xs:IDREF"/> <xs:element name="capturedMedia" type="xs:string"/> <xs:element name="content" type="xs:string" minOccurs="0"/> <xs:element name="derived" type="xs:boolean" minOccurs="0"/> <xs:element name="switched" type="xs:boolean" minOccurs="0"/> <xs:element name="spatialDescription" type="spatialDescriptionType" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="captureID" type="xs:ID" use="required"/> <xs:anyAttribute namespace="##other" processContents="lax"/> Presta & Romano Expires March 31, 2013 [Page 4]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 </xs:complexType> <!-- AUDIO CAPTURE TYPE --> <xs:complexType name="audioCaptureType"> <xs:complexContent> <xs:extension base="tns:mediaCaptureType"> <xs:sequence> <xs:element name="audioChannelFormat" type="audioChannelFormatType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- AUDIO CHANNEL FORMAT TYPE --> <xs:simpleType name="audioChannelFormatType"> <xs:restriction base="xs:string"> <xs:enumeration value="mono"/> <xs:enumeration value="stereo"/> </xs:restriction> </xs:simpleType> <!-- VIDEO CAPTURE TYPE --> <xs:complexType name="videoCaptureType"> <xs:complexContent> <xs:extension base="tns:mediaCaptureType"/> </xs:complexContent> </xs:complexType> <!-- SPATIAL DESCRIPTION TYPE --> <xs:complexType name="spatialDescriptionType"> <xs:sequence> <xs:element name="capturePoint" type="pointType"/> <xs:element name="captureArea" type="captureAreaType" minOccurs="0"/> <xs:element name="captureAxisPoint" type="pointType" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="scale" type="scaleType" use="required"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- SCALE TYPE --> <xs:simpleType name="scaleType"> <xs:restriction base="xs:string"> <xs:enumeration value="millimeters"/> <xs:enumeration value="unknown"/> <xs:enumeration value="noscale"/> </xs:restriction> </xs:simpleType> Presta & Romano Expires March 31, 2013 [Page 5]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 <!-- POINT TYPE --> <xs:complexType name="pointType"> <xs:sequence> <xs:element name="x" type="xs:decimal"/> <xs:element name="y" type="xs:decimal"/> <xs:element name="z" type="xs:decimal"/> </xs:sequence> </xs:complexType> <!-- CAPTURE AREA TYPE --> <xs:complexType name="captureAreaType"> <xs:sequence> <xs:element name="bottomUp" type="pointType"/> <xs:element name="bottomDown" type="pointType"/> <xs:element name="topUp" type="pointType"/> <xs:element name="topDown" type="pointType"/> </xs:sequence> </xs:complexType> <!-- CAPTURE SCENES TYPE --> <xs:complexType name="captureScenesType"> <xs:sequence> <xs:element name="captureScene" type="captureSceneType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- CAPTURE SCENE TYPE --> <xs:complexType name="captureSceneType"> <xs:sequence> <xs:element name="sceneDescription" type="xs:string" minOccurs="0"/> <xs:element name="sceneLanguge" type="xs:string" minOccurs="0"/> <xs:element name="sceneArea" type="sceneAreaType" minOccurs="0"/> <xs:element name="sceneEntries" type="sceneEntriesType"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="sceneID" type="xs:ID" use="required"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- SCENE AREA TYPE --> <xs:complexType name="sceneAreaType"> <xs:complexContent> <xs:extension base="captureAreaType"> <xs:attribute name="scale" type="scaleType" use="required"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:extension> </xs:complexContent> Presta & Romano Expires March 31, 2013 [Page 6]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 </xs:complexType> <!-- SCENE ENTRIES TYPE --> <xs:complexType name="sceneEntriesType"> <xs:sequence> <xs:element name="sceneEntry" type="sceneEntryType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- SCENE ENTRY TYPE --> <xs:complexType name="sceneEntryType"> <xs:sequence> <xs:element name="sceneEntryDescription" type="xs:string"/> <xs:element name="captureIDList" type="captureIDListType"/> <xs:element name="switchingPolicies" type="switchingPoliciesType" minOccurs="0"/> </xs:sequence> <xs:attribute name="entryID" type="xs:ID" use="required"/> <xs:attribute name="mediaType" type="xs:string" use="required"/> </xs:complexType> <!-- CAPTURE ID LIST TYPE --> <xs:complexType name="captureIDListType"> <xs:sequence> <xs:element name="captureIDREF" type="xs:IDREF" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="ID" type="xs:ID" use="required"/> </xs:complexType> <!-- SWITCHING POLICIES TYPE --> <xs:complexType name="switchingPoliciesType"> <xs:sequence> <xs:element name="siteSwitching" type="xs:boolean" minOccurs="0"/> <xs:element name="segmentSwitching" type="xs:boolean" minOccurs="0"/> </xs:sequence> </xs:complexType> <!-- ENCODINGS TYPE --> <xs:complexType name="encodingsType"> <xs:sequence> <xs:element name="encoding" type="encodingType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- ENCODING TYPE --> <xs:complexType name="encodingType" abstract="true"> Presta & Romano Expires March 31, 2013 [Page 7]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 <xs:sequence> <xs:element name="encodingName" type="xs:string"/> <xs:element name="maxBandwidth" type="xs:integer"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="encodingID" type="xs:ID" use="required"/> <xs:anyAttribute namespace="##any" processContents="lax"/> </xs:complexType> <!-- AUDIO ENCODING TYPE --> <xs:complexType name="audioEncodingType"> <xs:complexContent> <xs:extension base="tns:encodingType"> <xs:sequence> <xs:element name="encodedMedia" type="xs:string" fixed="audio" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- VIDEO ENCODING TYPE --> <xs:complexType name="videoEncodingType"> <xs:complexContent> <xs:extension base="tns:encodingType"> <xs:sequence> <xs:element name="encodedMedia" type="xs:string" fixed="video" minOccurs="0"/> <xs:element name="maxWidth" type="xs:integer" minOccurs="0"/> <xs:element name="maxHeight" type="xs:integer" minOccurs="0"/> <xs:element name="maxFrameRate" type="xs:integer" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- H264 ENCODING TYPE --> <xs:complexType name="h264EncodingType"> <xs:complexContent> <xs:extension base="tns:videoEncodingType"> <xs:sequence> <xs:element name="maxH264MacroBlocksRate" type="xs:integer" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ENCODING GROUPS TYPE --> <xs:complexType name="encodingGroupsType"> <xs:sequence> Presta & Romano Expires March 31, 2013 [Page 8]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 <xs:element name="encodingGroup" type="tns:encodingGroupType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- ENCODING GROUP TYPE --> <xs:complexType name="encodingGroupType"> <xs:sequence> <xs:element name="maxGroupBandwidth" type="xs:integer"/> <xs:element name="maxGroupH264MacroBlockRate" type="xs:integer" minOccurs="0"/> <xs:element name="encodingIDList" type="encodingIDListType"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="encodingGroupID" type="xs:ID" use="required"/> <xs:anyAttribute namespace="##any" processContents="lax"/> </xs:complexType> <!-- ENCODING ID LIST TYPE --> <xs:complexType name="encodingIDListType"> <xs:sequence> <xs:element name="encIDREF" type="xs:IDREF" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- SIMULTANEOUS SETS TYPE --> <xs:complexType name="simultaneousSetsType"> <xs:sequence> <xs:element name="simultaneousSet" type="captureIDListType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema> 4. Sample XML file The following XML document represents a schema compliant example of a CLUE telepresence scenario. The example describes a scenario similar to the one in section 11.1 of [I-D.ietf-clue-framework]. There are 6 video captures: VC0: the video from the left camera VC1: the video from the central camera Presta & Romano Expires March 31, 2013 [Page 9]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 VC2: the video from the right camera VC3: the video of the loudest segment of the room taken from the central camera VC4: the overall view of the telepresence room taken from the central camera VC5: the video associated with the slide stream There are 2 audio captures: AC0: the overall room audio AC1: the audio associated with the slide stream presentation <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <clueInfo xmlns="urn:ietf:params:xml:ns:clue-info"> <mediaCaptures> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="videoCaptureType" captureID="VC0"> <description>left camera video</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>video</capturedMedia> <content>main</content> <derived>false</derived> <switched>false</switched> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="videoCaptureType" captureID="VC1"> <description>central camera video</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>video</capturedMedia> <content>main</content> <derived>false</derived> <switched>false</switched> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="videoCaptureType" captureID="VC2"> <description>right camera video</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>video</capturedMedia> <content>main</content> <derived>false</derived> <switched>false</switched> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="videoCaptureType" captureID="VC3"> <description>video capture of the loudest room segment</description> Presta & Romano Expires March 31, 2013 [Page 10]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>video</capturedMedia> <content>main</content> <derived>false</derived> <switched>true</switched> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="videoCaptureType" captureID="VC4"> <description>zoomed out view of the room</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>video</capturedMedia> <content>main</content> <derived>false</derived> <switched>false</switched> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="videoCaptureType" captureID="VC5"> <description>presentation slides</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>video</capturedMedia> <content>slides</content> <derived>false</derived> <switched>false</switched> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="audioCaptureType" captureID="AC0"> <description>room audio</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>audio</capturedMedia> <content>main</content> <derived>false</derived> <audioChannelFormat>mono</audioChannelFormat> </mediaCapture> <mediaCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="audioCaptureType" captureID="AC1"> <description>presentation audio</description> <encGroupIDREF>EG1</encGroupIDREF> <capturedMedia>audio</capturedMedia> <content>slides</content> <derived>false</derived> <audioChannelFormat>mono</audioChannelFormat> </mediaCapture> </mediaCaptures> <captureScenes> <captureScene sceneID="CS1"> <sceneDescription>main room scene</sceneDescription> <sceneEntries> <sceneEntry entryID="SE1" mediaType="video"> <sceneEntryDescription>zoomed in participant videos</sceneEntryDescription> <captureIDList> <captureIDREF>VC0</captureIDREF> <captureIDREF>VC1</captureIDREF> Presta & Romano Expires March 31, 2013 [Page 11]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 <captureIDREF>VC2</captureIDREF> </captureIDList> </sceneEntry> <sceneEntry entryID="SE2" mediaType="audio"> <sceneEntryDescription>room audio</sceneEntryDescription> <captureIDList> <captureIDREF>AC0</captureIDREF> </captureIDList> </sceneEntry> <sceneEntry entryID="SE3" mediaType="video"> <sceneEntryDescription>loudest room segment</sceneEntryDescription> <captureIDList> <captureIDREF>VC3</captureIDREF> </captureIDList> </sceneEntry> <sceneEntry entryID="SE4" mediaType="video"> <sceneEntryDescription>room view</sceneEntryDescription> <captureIDList> <captureIDREF>VC4</captureIDREF> </captureIDList> </sceneEntry> </sceneEntries> </captureScene> <captureScene sceneID="CS2"> <sceneDescription>presentation view</sceneDescription> <sceneEntries> <sceneEntry entryID="SE5" mediaType="video"> <sceneEntryDescription>presentation video</sceneEntryDescription> <captureIDList> <captureIDREF>VC5</captureIDREF> </captureIDList> </sceneEntry> <sceneEntry entryID="SE6" mediaType="audio"> <sceneEntryDescription>presentation audio</sceneEntryDescription> <captureIDList> <captureIDREF>AC1</captureIDREF> </captureIDList> </sceneEntry> </sceneEntries> </captureScene> </captureScenes> <encodings> <encoding xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="h264EncodingType" encodingID="V_ENC1"> <encodingName>H264</encodingName> <maxBandwidth>14</maxBandwidth> <encodedMedia>video</encodedMedia> <maxWidth>1080</maxWidth> <maxHeight>60</maxHeight> Presta & Romano Expires March 31, 2013 [Page 12]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 <maxFrameRate>11</maxFrameRate> <maxH264MacroBlocksRate>12</maxH264MacroBlocksRate> </encoding> <encoding xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="audioEncodingType" encodingID="A_ENC1"> <encodingName>G711</encodingName> <maxBandwidth>64</maxBandwidth> <encodedMedia>audio</encodedMedia> </encoding> </encodings> <encodingGroups> <encodingGroup encodingGroupID="EG1"> <maxGroupBandwidth>17</maxGroupBandwidth> <maxGroupH264MacroBlockRate>19</maxGroupH264MacroBlockRate> <encodingIDList> <encIDREF>V_ENC1</encIDREF> <encIDREF>A_ENC1</encIDREF> </encodingIDList> </encodingGroup> </encodingGroups> <simultaneousSets> <simultaneousSet ID="S1"> <captureIDREF>VC0</captureIDREF> <captureIDREF>VC1</captureIDREF> <captureIDREF>VC2</captureIDREF> <captureIDREF>VC5</captureIDREF> <captureIDREF>AC0</captureIDREF> <captureIDREF>AC1</captureIDREF> </simultaneousSet> <simultaneousSet ID="S2"> <captureIDREF>VC0</captureIDREF> <captureIDREF>VC3</captureIDREF> <captureIDREF>VC2</captureIDREF> <captureIDREF>VC5</captureIDREF> <captureIDREF>AC0</captureIDREF> <captureIDREF>AC1</captureIDREF> </simultaneousSet> <simultaneousSet ID="S3"> <captureIDREF>VC0</captureIDREF> <captureIDREF>VC4</captureIDREF> <captureIDREF>VC2</captureIDREF> <captureIDREF>VC5</captureIDREF> <captureIDREF>AC0</captureIDREF> <captureIDREF>AC1</captureIDREF> </simultaneousSet> </simultaneousSets> </clueInfo> Presta & Romano Expires March 31, 2013 [Page 13]
Internet-Draft draft-presta-clue-data-model-schema-00 September 2012 5. Informative References [I-D.ietf-clue-framework] Romanow, A., Duckworth, M., Pepperell, A., and B. Baldino, "Framework for Telepresence Multi-Streams", draft-ietf-clue-framework-06 (work in progress), July 2012. [I-D.romanow-clue-data-model] Romanow, A. and A. Pepperell, "Data model for the CLUE Framework", draft-romanow-clue-data-model-01 (work in progress), June 2012. Authors' Addresses Roberta Presta University of Napoli Via Claudio 21 Napoli 80125 Italy EMail: roberta.presta@unina.it Simon Pietro Romano University of Napoli Via Claudio 21 Napoli 80125 Italy EMail: spromano@unina.it Presta & Romano Expires March 31, 2013 [Page 14]