Internet Engineering Task Force (IETF) R. Presta
Request for Comments: 8846 S P. Romano
Category: Standards Track University of Napoli
ISSN: 2070-1721 January 2021
An XML Schema for the Controlling Multiple Streams for Telepresence
(CLUE) Data Model
Abstract
This document provides an XML schema file for the definition of CLUE
data model types. The term "CLUE" stands for "Controlling Multiple
Streams for Telepresence" and is the name of the IETF working group
in which this document, as well as other companion documents, has
been developed. The document defines a coherent structure for
information associated with the description of a telepresence
scenario.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8846.
Copyright Notice
Copyright (c) 2021 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
(https://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.
Table of Contents
1. Introduction
2. Terminology
3. Definitions
4. XML Schema
5.
6.
7.
8.
9.
10.
11.
11.1. captureID Attribute
11.2. mediaType Attribute
11.3.
11.4.
11.5.
11.5.1.
11.5.2.
11.6.
11.7.
11.8.
11.9.
11.10.
11.11.
11.12.
11.13.
11.14.
11.15.
11.16.
11.17.
11.18.
11.19.
11.20.
11.21.
11.21.1.
12. Audio Captures
12.1.
13. Video Captures
14. Text Captures
15. Other Capture Types
16.
16.1.
16.2.
16.3. sceneID Attribute
16.4. scale Attribute
17.
17.1.
17.2. sceneViewID Attribute
18.
18.1.
18.2.
18.3. encodingGroupID Attribute
19.
19.1. setID Attribute
19.2. mediaType Attribute
19.3.
19.4.
19.5.
20.
21.
21.1.
21.1.1. personID Attribute
21.1.2.
21.1.3.
22.
22.1.
22.2.
22.3.
23.
24. XML Schema Extensibility
24.1. Example of Extension
25. Security Considerations
26. IANA Considerations
26.1. XML Namespace Registration
26.2. XML Schema Registration
26.3. Media Type Registration for "application/clue_info+xml"
26.4. Registry for Acceptable Values
26.5. Registry for Acceptable Values
26.6. Registry for Acceptable Values
26.7. Registry for Acceptable Values
27. Sample XML File
28. MCC Example
29. References
29.1. Normative References
29.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction
This document provides an XML schema file for the definition of CLUE
data model types. For the benefit of the reader, the term "CLUE"
stands for "Controlling Multiple Streams for Telepresence" and is the
name of the IETF working group in which this document, as well as
other companion documents, has been developed. A thorough definition
of the CLUE framework can be found in [RFC8845].
The schema is based on information contained in [RFC8845]. It
encodes information and constraints defined in the aforementioned
document in order to provide a formal representation of the concepts
therein presented.
The document specifies the definition of a coherent structure for
information associated with the description of a telepresence
scenario. Such information is used within the CLUE protocol messages
[RFC8847], enabling the dialogue between a Media Provider and a Media
Consumer. CLUE protocol messages, indeed, are XML messages allowing
(i) a Media Provider to advertise its telepresence capabilities in
terms of media captures, capture scenes, and other features
envisioned in the CLUE framework, according to the format herein
defined and (ii) a Media Consumer to request the desired telepresence
options in the form of capture encodings, represented as described in
this document.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Definitions
This document refers to the same definitions used in [RFC8845],
except for the "CLUE Participant" definition. We briefly recall
herein some of the main terms used in the document.
Audio Capture: Media Capture for audio. Denoted as "ACn" in the
examples in this document.
Capture: Same as Media Capture.
Capture Device: A device that converts physical input, such as
audio, video, or text, into an electrical signal, in most cases to
be fed into a media encoder.
Capture Encoding: A specific encoding of a Media Capture, to be sent
by a Media Provider to a Media Consumer via RTP.
Capture Scene: A structure representing a spatial region captured by
one or more Capture Devices, each capturing media representing a
portion of the region. The spatial region represented by a
Capture Scene may correspond to a real region in physical space,
such as a room. A Capture Scene includes attributes and one or
more Capture Scene Views, with each view including one or more
Media Captures.
Capture Scene View (CSV): A list of Media Captures of the same media
type that together form one way to represent the entire Capture
Scene.
CLUE Participant: This term is imported from the CLUE protocol
document [RFC8847].
Consumer: Short for Media Consumer.
Encoding or Individual Encoding: A set of parameters representing a
way to encode a Media Capture to become a Capture Encoding.
Encoding Group: A set of encoding parameters representing a total
media encoding capability to be subdivided across potentially
multiple Individual Encodings.
Endpoint: A CLUE-capable device that is the logical point of final
termination through receiving, decoding and rendering, and/or
initiation through capturing, encoding, and sending of media
streams. An endpoint consists of one or more physical devices
that source and sink media streams, and exactly one participant
[RFC4353] (which, in turn, includes exactly one SIP User Agent).
Endpoints can be anything from multiscreen/multicamera rooms to
handheld devices.
Media: Any data that, after suitable encoding, can be conveyed over
RTP, including audio, video, or timed text.
Media Capture: A source of Media, such as from one or more Capture
Devices or constructed from other media streams.
Media Consumer: A CLUE-capable device that intends to receive
Capture Encodings.
Media Provider: A CLUE-capable device that intends to send Capture
Encodings.
Multiple Content Capture (MCC): A Capture that mixes and/or switches
other Captures of a single type (for example, all audio or all
video). Particular Media Captures may or may not be present in
the resultant Capture Encoding depending on time or space.
Denoted as "MCCn" in the example cases in this document.
Multipoint Control Unit (MCU): A CLUE-capable device that connects
two or more endpoints together into one single multimedia
conference [RFC7667]. An MCU includes a Mixer, similar to those
in [RFC4353], but without the requirement to send media to each
participant.
Plane of Interest: The spatial plane within a scene containing the
most-relevant subject matter.
Provider: Same as a Media Provider.
Render: The process of generating a representation from Media, such
as displayed motion video or sound emitted from loudspeakers.
Scene: Same as a Capture Scene.
Simultaneous Transmission Set: A set of Media Captures that can be
transmitted simultaneously from a Media Provider.
Single Media Capture: A capture that contains media from a single
source capture device, e.g., an audio capture from a single
microphone or a video capture from a single camera.
Spatial Relation: The arrangement of two objects in space, in
contrast to relation in time or other relationships.
Stream: A Capture Encoding sent from a Media Provider to a Media
Consumer via RTP [RFC3550].
Stream Characteristics: The media stream attributes commonly used in
non-CLUE SIP/SDP environments (such as media codec, bitrate,
resolution, profile/level, etc.) as well as CLUE-specific
attributes, such as the Capture ID or a spatial location.
Video Capture: A Media Capture for video.
4. XML Schema
This section contains the XML schema for the CLUE data model
definition.
The element and attribute definitions are formal representations of
the concepts needed to describe the capabilities of a Media Provider
and the streams that are requested by a Media Consumer given the
Media Provider's ADVERTISEMENT [RFC8847].
The main groups of information are:
: the list of media captures available (Section 5)
: the list of encoding groups (Section 6)
: the list of capture scenes (Section 7)
: the list of simultaneous transmission sets
(Section 8)
: the list of global views sets (Section 9)
: metadata about the participants represented in the
telepresence session (Section 21)
: the list of instantiated capture encodings
(Section 10)
All of the above refer to concepts that have been introduced in
[RFC8845] and further detailed in this document.
targetNamespace="urn:ietf:params:xml:ns:clue-info"
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"
xmlns:xcard="urn:ietf:params:xml:ns:vcard-4.0"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
schemaLocation=
"https://www.iana.org/assignments/xml-registry/schema/
vcard-4.0.xsd"/>
maxOccurs="unbounded"/>
type="tns:spatialInformationType"/>
fixed="true"/>
minOccurs="0"/>
minOccurs="0"/>
minOccurs="0"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
minOccurs="0" />
minOccurs="0"/>
minOccurs="0" maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
type="xs:boolean"/>
maxOccurs="unbounded"/>
maxOccurs="1" minOccurs="0"/>
maxOccurs="unbounded" />
maxOccurs="unbounded"/>
Acceptable values (enumerations) for this type are managed
by IANA in the "CLUE Schema <personType>" registry,
accessible at https://www.iana.org/assignments/clue.
Acceptable values (enumerations) for this type are managed
by IANA in the "CLUE Schema <view>" registry,
accessible at https://www.iana.org/assignments/clue.
Acceptable values (enumerations) for this type are managed
by IANA in the "CLUE Schema <presentation>" registry,
accessible at https://www.iana.org/assignments/clue.
minOccurs="0"/>
minOccurs="0"/>
maxOccurs="unbounded"/>
minOccurs="0">
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
Acceptable values (enumerations) for this type are managed by
IANA in the "CLUE Schema <sensitivityPattern>" registry,
accessible at https://www.iana.org/assignments/clue.
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
minOccurs="0"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
minOccurs="0"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
The following sections describe the XML schema in more detail. As a
general remark, please notice that optional elements that don't
define what their absence means are intended to be associated with
undefined properties.
5.
represents the list of one or more media captures
available at the Media Provider's side. Each media capture is
represented by a element (Section 11).
6.
represents the list of the encoding groups organized
on the Media Provider's side. Each encoding group is represented by
an element (Section 18).
7.
represents the list of the capture scenes organized
on the Media Provider's side. Each capture scene is represented by a
element (Section 16).
8.
contains the simultaneous sets indicated by the
Media Provider. Each simultaneous set is represented by a
element (Section 19).
9.
contains a set of alternative representations of all
the scenes that are offered by a Media Provider to a Media Consumer.
Each alternative is named "global view", and it is represented by a
element (Section 20).
10.
is a list of capture encodings. It can represent
the list of the desired capture encodings indicated by the Media
Consumer or the list of instantiated captures on the provider's side.
Each capture encoding is represented by a element
(Section 22).
11.
A media capture is the fundamental representation of a media flow
that is available on the provider's side. Media captures are
characterized by (i) a set of features that are independent from the
specific type of medium and (ii) a set of features that are media
specific. The features that are common to all media types appear
within the media capture type, which has been designed as an abstract
complex type. Media-specific captures, such as video captures, audio
captures, and others, are specializations of that abstract media
capture type, as in a typical generalization-specialization
hierarchy.
The following is the XML schema definition of the media capture type:
type="tns:spatialInformationType"/>
fixed="true"/>
minOccurs="0"/>
minOccurs="0"/>
minOccurs="0"/>
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
minOccurs="0"/>
11.1. captureID Attribute
The "captureID" attribute is a mandatory field containing the
identifier of the media capture. Such an identifier serves as the
way the capture is referenced from other data model elements (e.g.,
simultaneous sets, capture encodings, and others via
).
11.2. mediaType Attribute
The "mediaType" attribute is a mandatory attribute specifying the
media type of the capture. Common standard values are "audio",
"video", and "text", as defined in [RFC6838]. Other values can be
provided. It is assumed that implementations agree on the
interpretation of those other values. The "mediaType" attribute is
as generic as possible. Here is why: (i) the basic media capture
type is an abstract one; (ii) "concrete" definitions for the standard
audio, video, and text capture types [RFC6838] have been specified;
(iii) a generic "otherCaptureType" type has been defined; and (iv)
the "mediaType" attribute has been generically defined as a string,
with no particular template. From the considerations above, it is
clear that if one chooses to rely on a brand new media type and wants
to interoperate with others, an application-level agreement is needed
on how to interpret such information.
11.3.
is a mandatory field containing the value of the
identifier of the capture scene the media capture is defined in,
i.e., the value of the sceneID attribute (Section 16.3) of that
capture scene. Indeed, each media capture MUST be defined within one
and only one capture scene. When a media capture is spatially
definable, some spatial information is provided along with it in the
form of point coordinates (see Section 11.5). Such coordinates refer
to the space of coordinates defined for the capture scene containing
the capture.
11.4.
is an optional field containing the identifier of the
encoding group the media capture is associated with, i.e., the value
of the encodingGroupID attribute (Section 18.3) of that encoding
group. Media captures that are not associated with any encoding
group cannot be instantiated as media streams.
11.5.
Media captures are divided into two categories: (i) non spatially
definable captures and (ii) spatially definable captures.
Captures are spatially definable when at least it is possible to
provide (i) the coordinates of the device position within the
telepresence room of origin (capture point) together with its
capturing direction specified by a second point (point on line of
capture) or (ii) the represented area within the telepresence room,
by listing the coordinates of the four coplanar points identifying
the plane of interest (area of capture). The coordinates of the
above mentioned points MUST be expressed according to the coordinate
space of the capture scene the media captures belong to.
Non spatially definable captures cannot be characterized within the
physical space of the telepresence room of origin. Captures of this
kind are, for example, those related to recordings, text captures,
DVDs, registered presentations, or external streams that are played
in the telepresence room and transmitted to remote sites.
Spatially definable captures represent a part of the telepresence
room. The captured part of the telepresence room is described by
means of the element. By comparing the
element of different media captures within the
same capture scene, a consumer can better determine the spatial
relationships between them and render them correctly. Non spatially
definable captures do not embed such elements in their XML
description: they are instead characterized by having the
tag set to "true" (see Section 11.6).
The definition of the spatial information type is the following:
minOccurs="0"/>
minOccurs="0"/>
maxOccurs="unbounded"/>
The contains the coordinates of the capture device
that is taking the capture (i.e., the capture point) as well as,
optionally, the pointing direction (i.e., the point on line of
capture); see Section 11.5.1.
The is an optional field containing four points
defining the captured area covered by the capture (see
Section 11.5.2).
The scale of the points coordinates is specified in the scale
attribute (Section 16.4) of the capture scene the media capture
belongs to. Indeed, all the spatially definable media captures
referring to the same capture scene share the same coordinate system
and express their spatial information according to the same scale.
11.5.1.
The element is used to represent the position and
optionally the line of capture of a capture device.
MUST be included in spatially definable audio captures, while it is
optional for spatially definable video captures.
The XML schema definition of the element type is the
following:
minOccurs="0"/>
The point type contains three spatial coordinates (x,y,z)
representing a point in the space associated with a certain capture
scene.
The element includes a mandatory
element and an optional element, both of the
type "pointType". specifies the three coordinates
identifying the position of the capture device.
is another pointType element representing the "point on line of
capture", which gives the pointing direction of the capture device.
The coordinates of the point on line of capture MUST NOT be identical
to the capture point coordinates. For a spatially definable video
capture, if the point on line of capture is provided, it MUST belong
to the region between the point of capture and the capture area. For
a spatially definable audio capture, if the point on line of capture
is not provided, the sensitivity pattern should be considered
omnidirectional.
11.5.2.
is an optional element that can be contained within the
spatial information associated with a media capture. It represents
the spatial area captured by the media capture. MUST be
included in the spatial information of spatially definable video
captures, while it MUST NOT be associated with audio captures.
The XML representation of that area is provided through a set of four
point-type elements, , , , and
, that MUST be coplanar. The four coplanar points are
identified from the perspective of the capture device. The XML
schema definition is the following:
11.6.
When media captures are non spatially definable, they MUST be marked
with the boolean element set to "true", and
no MUST be provided. Indeed,
and are mutually
exclusive tags, according to the section within the XML
schema definition of the media capture type.
11.7.
A media capture can be (i) an individual media capture or (ii) an
MCC. An MCC is made by different captures that can be arranged
spatially (by a composition operation), or temporally (by a switching
operation), or that can result from the orchestration of both the
techniques. If a media capture is an MCC, then it MAY show in its
XML data model representation the element. It is composed
by a list of media capture identifiers ("mediaCaptureIDREF") and
capture scene view identifiers ("sceneViewIDREF"), where the latter
ones are used as shortcuts to refer to multiple capture identifiers.
The referenced captures are used to create the MCC according to a
certain strategy. If the element does not appear in an
MCC, or it has no child elements, then the MCC is assumed to be made
of multiple sources, but no information regarding those sources is
provided.
minOccurs="0" maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
11.8.
is an optional element for multiple content
captures that contains a numeric identifier. Multiple content
captures marked with the same identifier in the
contain at all times captures coming from the same sources. It is
the Media Provider that determines what the source is for the
captures. In this way, the Media Provider can choose how to group
together single captures for the purpose of keeping them synchronized
according to the element.
11.9.
is an optional boolean element for multiple
content captures. It indicates whether or not the Provider allows
the Consumer to choose a specific subset of the captures referenced
by the MCC. If this attribute is true, and the MCC references other
captures, then the Consumer MAY specify in a CONFIGURE message a
specific subset of those captures to be included in the MCC, and the
Provider MUST then include only that subset. If this attribute is
false, or the MCC does not reference other captures, then the
Consumer MUST NOT select a subset. If is not
shown in the XML description of the MCC, its value is to be
considered "false".
11.10.
is an optional element that can be used only for multiple
content captures. It indicates the criteria applied to build the
multiple content capture using the media captures referenced in the
list. The value is in the form of a
token that indicates the policy and an index representing an instance
of the policy, separated by a ":" (e.g., SoundLevel:2, RoundRobin:0,
etc.). The XML schema defining the type of the element is
the following:
At the time of writing, only two switching policies are defined; they
are in [RFC8845] as follows:
| SoundLevel: This indicates that the content of the MCC is
| determined by a sound-level-detection algorithm. The loudest
| (active) speaker (or a previous speaker, depending on the index
| value) is contained in the MCC.
|
| RoundRobin: This indicates that the content of the MCC is
| determined by a time-based algorithm. For example, the
| Provider provides content from a particular source for a period
| of time and then provides content from another source, and so
| on.
Other values for the element can be used. In this case, it
is assumed that implementations agree on the meaning of those other
values and/or those new switching policies are defined in later
documents.
11.11.
is an optional element that can be used only for MCCs.
It provides information about the number of media captures that can
be represented in the multiple content capture at a time. If
is not provided, all the media captures listed in the
element can appear at a time in the capture encoding. The
type definition is provided below.
type="xs:boolean"/>
When the "exactNumber" attribute is set to "true", it means the
element carries the exact number of the media captures
appearing at a time. Otherwise, the number of the represented media
captures MUST be considered "<=" the value.
For instance, an audio MCC having the value set to 1
means that a media stream from the MCC will only contain audio from a
single one of its constituent captures at a time. On the other hand,
if the value is set to 4 and the exactNumber attribute
is set to "true", it would mean that the media stream received from
the MCC will always contain a mix of audio from exactly four of its
constituent captures.
11.12.
is a boolean element that MUST be used for single-
content captures. Its value is fixed and set to "true". Such
element indicates the capture that is being described is not an MCC.
Indeed, and the aforementioned tags related to MCC
attributes (from Sections 11.7 to 11.11) are mutually exclusive,
according to the section within the XML schema definition of
the media capture type.
11.13.
is used to provide human-readable textual information.
This element is included in the XML definition of media captures,
capture scenes, and capture scene views to provide human-readable
descriptions of, respectively, media captures, capture scenes, and
capture scene views. According to the data model definition of a
media capture (Section 11)), zero or more elements can
be used, each providing information in a different language. The
element definition is the following:
As can be seen, is a string element with an attribute
("lang") indicating the language used in the textual description.
Such an attribute is compliant with the Language-Tag ABNF production
from [RFC5646].
11.14.
is an optional unsigned integer field indicating the
importance of a media capture according to the Media Provider's
perspective. It can be used on the receiver's side to automatically
identify the most relevant contribution from the Media Provider. The
higher the importance, the lower the contained value. If no priority
is assigned, no assumptions regarding relative importance of the
media capture can be assumed.
11.15.
is an optional element containing the language used in the
capture. Zero or more elements can appear in the XML
description of a media capture. Each such element has to be
compliant with the Language-Tag ABNF production from [RFC5646].
11.16.
is an optional element indicating whether or not the
capture device originating the capture may move during the
telepresence session. That optional element can assume one of the
three following values:
static: SHOULD NOT change for the duration of the CLUE session,
across multiple ADVERTISEMENT messages.
dynamic: MAY change in each new ADVERTISEMENT message. Can be
assumed to remain unchanged until there is a new ADVERTISEMENT
message.
highly-dynamic: MAY change dynamically, even between consecutive
ADVERTISEMENT messages. The spatial information provided in an
ADVERTISEMENT message is simply a snapshot of the current
values at the time when the message is sent.
11.17.
The optional element contains the value of the captureID
attribute (Section 11.1) of the media capture to which the considered
media capture refers. The media capture marked with a
element can be, for example, the translation of the referred media
capture in a different language.
11.18.
The element is an optional tag describing what is represented
in the spatial area covered by a media capture. It has been
specified as a simple string with an annotation pointing to an IANA
registry that is defined ad hoc:
Acceptable values (enumerations) for this type are managed
by IANA in the "CLUE Schema <view>" registry,
accessible at https://www.iana.org/assignments/clue.
The current possible values, as per the CLUE framework document
[RFC8845], are: "room", "table", "lectern", "individual", and
"audience".
11.19.
The element is an optional tag used for media captures
conveying information about presentations within the telepresence
session. It has been specified as a simple string with an annotation
pointing to an IANA registry that is defined ad hoc:
Acceptable values (enumerations) for this type are managed
by IANA in the "CLUE Schema <presentation>" registry,
accessible at https://www.iana.org/assignments/clue.
The current possible values, as per the CLUE framework document
[RFC8845], are "slides" and "images".
11.20.
The element is a boolean element indicating that there
is text embedded in the media capture (e.g., in a video capture).
The language used in such an embedded textual description is reported
in the "lang" attribute.
The XML schema definition of the element is:
11.21.
This optional element is used to indicate which telepresence session
participants are represented in within the media captures. For each
participant, a element is provided.
11.21.1.
contains the identifier of the represented person,
i.e., the value of the related personID attribute (Section 21.1.1).
Metadata about the represented participant can be retrieved by
accessing the list (Section 21).
12. Audio Captures
Audio captures inherit all the features of a generic media capture
and present further audio-specific characteristics. The XML schema
definition of the audio capture type is reported below:
maxOccurs="unbounded"/>
An example of audio-specific information that can be included is
represented by the element (Section 12.1).
12.1.
The element is an optional field describing the
characteristics of the nominal sensitivity pattern of the microphone
capturing the audio signal. It has been specified as a simple string
with an annotation pointing to an IANA registry that is defined ad
hoc:
Acceptable values (enumerations) for this type are managed by
IANA in the "CLUE Schema <sensitivityPattern>" registry,
accessible at https://www.iana.org/assignments/clue.
The current possible values, as per the CLUE framework document
[RFC8845], are "uni", "shotgun", "omni", "figure8", "cardioid", and
"hyper-cardioid".
13. Video Captures
Video captures, similarly to audio captures, extend the information
of a generic media capture with video-specific features.
The XML schema representation of the video capture type is provided
in the following:
maxOccurs="unbounded"/>
14. Text Captures
Similar to audio captures and video captures, text captures can be
described by extending the generic media capture information.
There are no known properties of a text-based media that aren't
already covered by the generic mediaCaptureType. Text captures are
hence defined as follows:
maxOccurs="unbounded"/>
Text captures MUST be marked as non spatially definable (i.e., they
MUST present in their XML description the
(Section 11.6) element set to "true").
15. Other Capture Types
Other media capture types can be described by using the CLUE data
model. They can be represented by exploiting the "otherCaptureType"
type. This media capture type is conceived to be filled in with
elements defined within extensions of the current schema, i.e., with
elements defined in other XML schemas (see Section 24 for an
example). The otherCaptureType inherits all the features envisioned
for the abstract mediaCaptureType.
The XML schema representation of the otherCaptureType is the
following:
maxOccurs="unbounded"/>
When defining new media capture types that are going to be described
by means of the element, spatial properties of
such new media capture types SHOULD be defined (e.g., whether or not
they are spatially definable and whether or not they should be
associated with an area of capture or other properties that may be
defined).
16.
A Media Provider organizes the available captures in capture scenes
in order to help the receiver in both the rendering and the selection
of the group of captures. Capture scenes are made of media captures
and capture scene views, which are sets of media captures of the same
media type. Each capture scene view is an alternative to completely
represent a capture scene for a fixed media type.
The XML schema representation of a element is the
following:
minOccurs="0"/>
maxOccurs="unbounded"/>
Each capture scene is identified by a "sceneID" attribute. The
element can contain zero or more textual
elements, as defined in Section 11.13. Besides , there
is the optional element (Section 16.1), which
contains structured information about the scene in the vCard format,
and the optional element (Section 16.2), which is the
list of the capture scene views. When no is provided,
the capture scene is assumed to be made of all the media captures
that contain the value of its sceneID attribute in their mandatory
captureSceneIDREF attribute.
16.1.
The element contains optional information about
the capture scene according to the vCard format, as specified in the
xCard specification [RFC6351].
16.2.
The element is a mandatory field of a capture scene
containing the list of scene views. Each scene view is represented
by a element (Section 17).
maxOccurs="unbounded"/>
16.3. sceneID Attribute
The sceneID attribute is a mandatory attribute containing the
identifier of the capture scene.
16.4. scale Attribute
The scale attribute is a mandatory attribute that specifies the scale
of the coordinates provided in the spatial information of the media
capture belonging to the considered capture scene. The scale
attribute can assume three different values:
"mm": the scale is in millimeters. Systems that know their
physical dimensions (for example, professionally installed
telepresence room systems) should always provide such real-
world measurements.
"unknown": the scale is the same for every media capture in the
capture scene, but the unity of measure is undefined. Systems
that are not aware of specific physical dimensions yet still
know relative distances should select "unknown" in the scale
attribute of the capture scene to be described.
"noscale": there is no common physical scale among the media
captures of the capture scene. That means the scale could be
different for each media capture.
17.
A element represents a capture scene view, which contains
a set of media captures of the same media type describing a capture
scene.
A element is characterized as follows.
One or more optional elements provide human-readable
information about what the scene view contains. is
defined in Section 11.13.
The remaining child elements are described in the following
subsections.
17.1.
is the list of the identifiers of the media
captures included in the scene view. It is an element of the
captureIDListType type, which is defined as a sequence of
, each containing the identifier of a media
capture listed within the element:
maxOccurs="unbounded"/>
17.2. sceneViewID Attribute
The sceneViewID attribute is a mandatory attribute containing the
identifier of the capture scene view represented by the
element.
18.
The element represents an encoding group, which is
made by a set of one or more individual encodings and some parameters
that apply to the group as a whole. Encoding groups contain
references to individual encodings that can be applied to media
captures. The definition of the element is the
following:
maxOccurs="unbounded"/>
In the following subsections, the contained elements are further
described.
18.1.
is an optional field containing the maximum
bitrate expressed in bits per second that can be shared by the
individual encodings included in the encoding group.
18.2.
is the list of the individual encodings grouped
together in the encoding group. Each individual encoding is
represented through its identifier contained within an
element.
maxOccurs="unbounded"/>
18.3. encodingGroupID Attribute
The encodingGroupID attribute contains the identifier of the encoding
group.
19.
represents a simultaneous transmission set, i.e., a
list of captures of the same media type that can be transmitted at
the same time by a Media Provider. There are different simultaneous
transmission sets for each media type.
minOccurs="0" maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
minOccurs="0" maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
Besides the identifiers of the captures (
elements), the identifiers of capture scene views and capture scenes
can also be exploited as shortcuts ( and
elements). As an example, let's consider the
situation where there are two capture scene views (S1 and S7). S1
contains captures AC11, AC12, and AC13. S7 contains captures AC71
and AC72. Provided that AC11, AC12, AC13, AC71, and AC72 can be
simultaneously sent to the Media Consumer, instead of having 5
elements listed in the simultaneous set (i.e.,
one for AC11, one for AC12, and so on), there can
be just two elements (one for S1 and one for S7).
19.1. setID Attribute
The "setID" attribute is a mandatory field containing the identifier
of the simultaneous set.
19.2. mediaType Attribute
The "mediaType" attribute is an optional attribute containing the
media type of the captures referenced by the simultaneous set.
When only capture scene identifiers are listed within a simultaneous
set, the media type attribute MUST appear in the XML description in
order to determine which media captures can be simultaneously sent
together.
19.3.
contains the identifier of the media capture that
belongs to the simultaneous set.
19.4.
contains the identifier of the scene view containing
a group of captures that are able to be sent simultaneously with the
other captures of the simultaneous set.
19.5.
contains the identifier of the capture scene
where all the included captures of a certain media type are able to
be sent together with the other captures of the simultaneous set.
20.
is a set of captures of the same media type representing
a summary of the complete Media Provider's offer. The content of a
global view is expressed by leveraging only scene view identifiers,
put within elements. Each global view is identified
by a unique identifier within the "globalViewID" attribute.
maxOccurs="unbounded"/>
maxOccurs="unbounded"/>
21.
Information about the participants that are represented in the media
captures is conveyed via the element. As it can be seen
from the XML schema depicted below, for each participant, a
element is provided.
21.1.
includes all the metadata related to a person represented
within one or more media captures. Such element provides the vCard
of the subject (via the element; see Section 21.1.2) and
its conference role(s) (via one or more elements; see
Section 21.1.3). Furthermore, it has a mandatory "personID"
attribute (Section 21.1.1).
minOccurs="0"/>
maxOccurs="unbounded"/>
21.1.1. personID Attribute
The "personID" attribute carries the identifier of a represented
person. Such an identifier can be used to refer to the participant,
as in the element in the media captures
representation (Section 11.21).
21.1.2.
The element is the XML representation of all the fields
composing a vCard as specified in the xCard document [RFC6351]. The
vcardType is imported by the xCard XML schema provided in Appendix A
of [RFC7852]. As such schema specifies, the element within
is mandatory.
21.1.3.
The value of the element determines the role of the
represented participant within the telepresence session organization.
It has been specified as a simple string with an annotation pointing
to an IANA registry that is defined ad hoc:
Acceptable values (enumerations) for this type are managed
by IANA in the "CLUE Schema <personType>" registry,
accessible at https://www.iana.org/assignments/clue.
The current possible values, as per the CLUE framework document
[RFC8845], are: "presenter", "timekeeper", "attendee", "minute
taker", "translator", "chairman", "vice-chairman", and "observer".
A participant can play more than one conference role. In that case,
more than one element will appear in its description.
22.
A capture encoding is given from the association of a media capture
with an individual encoding, to form a capture stream as defined in
[RFC8845]. Capture encodings are used within CONFIGURE messages from
a Media Consumer to a Media Provider for representing the streams
desired by the Media Consumer. For each desired stream, the Media
Consumer needs to be allowed to specify: (i) the capture identifier
of the desired capture that has been advertised by the Media
Provider; (ii) the encoding identifier of the encoding to use, among
those advertised by the Media Provider; and (iii) optionally, in case
of multicontent captures, the list of the capture identifiers of the
desired captures. All the mentioned identifiers are intended to be
included in the ADVERTISEMENT message that the CONFIGURE message
refers to. The XML model of is provided in the
following.
minOccurs="0"/>
maxOccurs="unbounded"/>
22.1.
is the mandatory element containing the identifier of the
media capture that has been encoded to form the capture encoding.
22.2.
is the mandatory element containing the identifier of
the applied individual encoding.
22.3.
is an optional element to be used in case of the
configuration of MCC. It contains the list of capture identifiers
and capture scene view identifiers the Media Consumer wants within
the MCC. That element is structured as the element used to
describe the content of an MCC. The total number of media captures
listed in the MUST be lower than or equal to the
value carried within the attribute of the MCC.
23.
The element includes all the information needed to