Summary
Recommendation ITU-T H.782 specifies the data elements and structures of the metadata for digital signage services. The metadata describes information for contents, terminal devices, play logs, playlist schedule, screen layout, etc. The metadata is handled by a digital signage server, a digital signage client, a content delivery server, and a content delivery client. It also specifies general information flows to describe how the metadata are used in the digital signage services.
This revision updates the data types of elements/attributes of identifiers. This update aims to widen applicability of the specifications at the price of easy extensible markup language (XML) validation.
History
Edition | Recommendation | Approval | Study Group | Unique IDa) |
1.0 | ITU-T H.782 | 2017-12-14 | 16 | 11.1002/1000/13439 |
2.0 | ITU-T H.782 (V2) | 2018-11-29 | 16 | 11.1002/1000/13783 |
a) To access the Recommendation, type the URL http://handle.itu.int/ in the address field of your web browser, followed by the Recommendation's unique ID. For example, http://handle.itu.int/11.1002/1000/11830-en. |
Recommendation ITU-T H.782
Digital signage: Metadata
1. Scope
This Recommendation addresses specifications for the metadata, which especially focus on semantics aspects, related to general digital signage services. This Recommendation defines metadata for the following digital signage functionalities:
terminal devices;
play logs;
content delivery scheduling;
playlist and content;
playlist schedule;
screen layout and region;
interactive service.
This revision updates the data types of elements/attributes of identifiers. The update aims to widen applicability of the specifications at the price of easy XML validation.
2. References
The following ITU-T Recommendations and other references contain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All Recommendations and other references are subject to revision; users of this Recommendation are therefore encouraged to investigate the possibility of applying the most recent edition of the Recommendations and other references listed below. A list of the currently valid ITU-T Recommendations is regularly published. The reference to a document within this Recommendation does not give it, as a stand-alone document, the status of a Recommendation. | |
[ITU‑T H.741.2] | Recommendation ITU-T H.741.2, IPTV application event handling: Data structures of audience measurement for IPTV services, 1st edition. |
[ITU‑T H.780] | Recommendation ITU-T H.780, Digital signage: Service requirements and IPTV-based architecture, 1st edition. |
[ITU‑T H.781] | Recommendation ITU-T H.781, Digital signage: Functional architecture, 1st edition. |
[ISO 19136] | ISO 19136 | URN urn:iso:std:iso:19136:stage-95.99:ed-1, Geographic information — Geography Markup Language (GML), 1st edition. |
[IETF RFC 5139] | IETF RFC 5139 ( 2008), Revised Civic Location Format for Presence Information Data Format Location Object (PIDF-LO). |
[W3C xmlschema‑0] | W3C xmlschema-0, XML Schema Part 0: Primer Second Edition. |
[ETSI TS 102 822‑3‑1] | ETSI TS 102 822-3-1, ETSI TS 102 822-3-1 V1.9.2 (2016), Broadcast and On-line Services: Search, select, and rightful use of content on personal storage systems ("TV-Anytime"); Part 3: Metadata; Sub-part 1: Phase 1– Metadata schemas. |
3. Definitions
3.1. Terms defined elsewhere
This Recommendation uses the following terms defined elsewhere:
3.1.1. content: [b-ITU-T H.760] A combination of audio, still image, graphic, video, or data.
NOTE – A variety of formats is classified as the "data" (e.g., text, encoded values, multimedia description language introduced by [b-ITU-T H.760]).
3.1.2. metadata: [b-ITU-T X.1255] Structured information that pertains to the identity of users, systems, services, processes, resources, information or other entities.
3.1.3. playlist: [ITU-T H.780] Composed of a list of contents.
NOTE 1 – This data is created and provided by digital service providers.
NOTE 2 – This data can be selected by an end user when interactivity is supported in a digital signage terminal device.
NOTE 3 – This data may indicate an order of playing contents.
3.1.4. playlist schedule: [ITU-T H.780] Composed of a list of playlists indicated by a specific play date and/or time.
3.1.5. proof-of-play (PoP): [ITU-T H.781] Any technique that can identify and prove that the content has been displayed on the screen.
3.2. Terms defined in this recommendation
This Recommendation defines the following terms:
3.2.1. play log: A collection of record or information created by a digital signage system reflecting the content played, system performance, and other data.
3.2.2. region: A partial area of the screen layout to be a content displayed.
3.2.3. screen layout: A composition of one or moreregions to be content displayed.
4. Abbreviations and acronyms
This Recommendation uses the following abbreviations and acronyms:
DS
Digital Signage
GML
Geography Markup Language
URI
Uniform Resource Identifier
URL
Uniform Resource Locator
UTC
Coordinated Universal Time
XML
extensible Markup Language
5. Conventions
This Recommendation follows the notation described in clause 6 of [ITU-T H.741.2]. The notation is used in this Recommendation to facilitate the specification of the corresponding schema:
Definition/Semantics: definition and semantics of the element / attribute along with notes and value domain;
Support: describes the requirement level and number of occurrence of the pertaining instance. The notations for requirement level are M for mandatory, R for recommended, O for optional. The notations for number of occurrence are (1) = (one instance), (0-1) = (zero or one instance), (0-*) = (zero or multiple instances possible), (1-*) = (one or multiple instances possible);
Type: describes the type of the pertaining instance as defined in Table 1;
Container: elements are defined to group associated elements.
Table 1 contains data types used in this Recommendation; alternative representations may be shown which illustrates other data structures. In case of discrepancy with any alternative representation, the correct information is to be found in Table 1.
Table 1 — Data types used in this Recommendation
Type | Name | Notes/reference |
---|---|---|
ca:civicAddress | Civic address | Used to specify civic location. |
gml:Point | GML point | Used to specify simple point geometry in format of geography markup language (GML). |
tva:GenreType | Genre | Used to specify genre of the content. |
xs:date | Date | Used to specify date. The lexical form is CCYY-MM-DD where "CC" represents the century, "YY" the year, "MM" the month and "DD" the day. |
xs:duration | Duration | Used to specify duration of time. The lexical form is PnYnMnDTnHnMnS, where "P" represents the starts expression, "nY" represents number of years, "nM" represents number of months, "nD" represents number of days, "T" represents separation of date and time, "nH" represents number of hours, "nM" represents number of minutes, and "nS" represents number of seconds. |
xs:time | Time | Used to specify time. The format of time is "hh:mm:ss" where: hh indicates the hour, mm indicates the minute, ss indicates the second. |
xs:dateTime | Date and time | Used to specify date and time. The format of dateTime is YYYY-MM-DDThh:mm:ss.s+zzzzzz |
xs:integer | Integer | Used to specify a numeric value without a fractional component. |
xs:language | Natural language identifier | Used to specify a natural language identifier. |
xs:nonNegativeInteger | Non-negative integer | Used to specify integer containing only non-negative values (e.g., 0,1,2,..) |
xs:positiveInteger | Positive integer | Used to specify integer containing only positive values (e.g., 1,2,..). |
xs:string | String | Used to specify string value which contains characters, line feeds, carriage returns, and tab characters. |
xs:NMTOKEN | Normalized String without spaces | Used to specify string after white space replacement. This is, any occurrence of line feeds, carriage returns, contiguous of spaces, and tab are replaced by a single space along with leading or trailing spaces removed. |
xs:NMTOKENS | List of NMTOKEN | A whitespace-separated list of NMTOKEN values. |
xs:anyURI | URI | Used to specify uniform resource identifier (URI). |
6. Overview
This Recommendation address metadata related to digital signage (DS) services to present details of contents and service information. [ITU-T H.780] specifies some elements of metadata that are applicable to digital signage services.
Digital signage server has capabilities for administration of digital signage system, control of content delivery, and management of digital signage terminal devices. Digital signage clients are responsible for content presentation, and interactions with audiences. The detailed functionalities of digital signage server and digital signage client are defined in [ITU-T H.781].
This Recommendation selects basic elements/attributes from these specifications that are applicable to digital signage services. Names of elements/attributes are quoted as they are in the specifications, in order to keep the relationship between the standards clear.
Figure 1 illustrates a reference functional model for DS services as per [ITU-T H.781], and the scope of this Recommendation.
NOTE – Figure 1 as per [ITU-T H.781].
Figure 1 — Digital signage service reference architecture
Entities in Figure 1 are as follows:
Audience/User: the audience or user, or his/her own device;
DS terminal device: the device that displays content received from a DS service operator;
DS service operator: the business operator that provides DS services. It manages DS terminal devices for displaying content received from a content provider;
Content provider or business system: this entity provides content to the DS service operator for a particular purpose, e.g., advertisements, information, alerts.
Main groups of functions within the DS terminal device and the DS service operator are as follows:
DS client: is responsible for content presentation and interactions with audiences;
Content delivery client: is responsible for acquiring content through a network;
DS server: has capabilities for administration of DS system, control of content delivery and management of DS terminal devices;
Content delivery server: delivers content to the content delivery client.
This Recommendation describes metadata handled by these four functional groups.
7. Configuration of terminal device
7.1. Client configuration
The digital signage server configures the digital signage client with a set of metadata in the "client configuration" which includes allocation of TerminalId; see Figure 2. The digital signage server can reconfigure the digital signage client with the configuration information needed.
A set of elements/attributes for "client configuration" metadata is shown in Table 2.
Figure 2 — A flow for client configuration
Table 2 — Metadata for "client configuration"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
ClientConfiguration | Container to include client configuration information. | ||
TerminalId | Element of ClientConfiguration. | M(1) | xs:NMTOKEN |
Name | Element of ClientConfiguration. | O(0-*) | xs:string |
KeywordList | Element of ClientConfiguration. | O(0-1) | |
Keyword | Element of KeywordList. | O(1-*) | xs:string |
ConfigurationDateTime | Element of ClientConfiguration. | O(0-1) | xs:dateTime |
ScreenlayoutIdRefList | Element of ClientConfiguration. | O(0-1) | xs:NMTOKENS |
TerminalGroupIdRef | Element of ClientConfiguration. | O(0-1) | xs:NMTOKEN |
Username | Element of ClientConfiguration. | O(0-1) | xs:NMTOKEN |
Password | Element of ClientConfiguration. | O(0-1) | xs:string |
AVControl | Element of ClientConfiguration. | O(0-1) | |
Volume | Element of AVControl. | O(0-1) | xs:string |
Brightness | Element of AVControl. | O(0-1) | xs:string |
ContentDeliveryServerIdRefList | Element of ClientConfiguration. | O(0-1) | xs:NMTOKENS |
LogServerIdRef | Element of ClientConfiguration. | O(0-1) | xs:NMTOKEN |
PlaylistScheduleServerIdRef | Element of ClientConfiguration. | O(0-1) | xs:NMTOKEN |
NOTE – Elements derived from [ITU-T H.780]: TerminalId, Keyword. |
Supplemental explanations of elements are as follows:
ScreenlayoutIdRefList: denotes the list of reference identifiers of the screen layout format of the terminal device. This element is used when there are limited types of screen layout format within this configuration;
Name: denotes the name of the terminal device. Normally, it is in user-readable format for the user to differentiate or to understand the purpose of the terminals. It can be in different languages;
Username and Password: denotes the username and password that is used in accessing digital signage service from the terminal device. This information can be used for maintenance of terminal and the digital signage client;
AVControl: describes the level of sound volume and brightness of the terminal device that is controlled by the digital signage server. It is possible to add other types of audio/visual setting that in needed in the implementation such as contrast, colours, etc.;
TerminalGroup: denotes the reference identifier of the terminal group that the terminal belongs;
ContentDeliveryServerIdRefList: denotes the list of reference identifiers of the content delivery servers that are used by terminals in downloading content. There can be more than one content delivery servers;
LogServerIdRef: denotes the reference identifier of the log server that is used by the terminal to report log data;
PlaylistScheduleServerIdRef: denotes the reference identifier of the playlist schedule server for the terminal.
7.2. Terminal device
A digital signage client may use the set of metadata in the "terminal device" to send its installation information to the server, and the digital signage server may use this metadata to manage the terminal device. See Figure 3.
A set of elements/attributes for "terminal device" metadata is shown in Table 3.
Figure 3 — A flow for terminal device
Table 3 — Metadata for "terminal device"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
TerminalDevice | Container to include terminal device information to be reported to the server. | ||
TerminalIdRef | Element of TerminalDevice. | M(1) | xs:NMTOKEN |
InstallationDateTime | Element of TerminalDevice. | O(0-1) | xs:dateTime |
DisplayInformation | Element of TerminalDevice. | O(0-1) | |
InstallationLayout | Element of DisplayInformation. | O(0-1) | xs:string |
Size | Element of DisplayInformation. | O(0-1) | xs:string |
PixelResolution | Element of DisplayInformation. | O(0-1) | xs:string |
CapabilityList | Element of DisplayInformation. | O(0-1) | xs:NMTOKENS |
Cpu | Element of TerminalDevice. | O(0-1) | xs:string |
StorageSize | Element of TerminalDevice. | O(0-1) | xs:string |
IPAddress | Element of TerminalDevice. | R(0-1) | xs:NMTOKEN |
MACAddress | Element of TerminalDevice. | R(0-1) | xs:NMTOKEN |
Timezone | Element of TerminalDevice. | O(0-1) | xs:time |
GeoLocation | Element of TerminalDevice. | O(0-1) | gml:Point |
Location | Element of TerminalDevice. | O(0-1) | ca:civicAddress |
InteractiveDevice | Element of TerminalDevice. | O(0-*) | |
NOTE – Elements derived from [ITU-T H.780]: TerminalId, DisplayInformation, and InstallationDate. |
Supplemental explanations of elements are as follows:
TerminalIdRef: denotes the reference identifier to the terminal, if applicable. After first initiation, the terminal device may not have any TerminalId to identify itself;
NOTE 1 – In this case, the terminal device sets the initial value, such as "0", to the TerminalId. The digital signage server can assign a unique value for TerminalId through the flow described in clause7.1;
DisplayInformation: describes the display information of the digital signage terminal. The information may include the display size, pixel, and capabilities such as 3D, touch screen, etc. Digital signage server can use this information in determining the type of content that the terminal is able to display;
Cpu: describes the CPU power of the terminal. This is used to check if the terminal has the ability to display certain types of content;
StorageSize: describes the size of the storage available in the terminal, e.g., a hard disk drive or flash memory;
NOTE 2 – This is used to check if the terminal is able to store the content to be displayed;
IPAddress and MACAddress: denotes the address used to access the terminal. It is possible to use this information when creating the TerminalId element;
Timezone:describes the time zone of the area where the terminal is installed;
NOTE 3 – When the terminal and the server are in different time zones, the server needs to be careful with information related to time;
GeoLocation: denotes the location of the terminal using GML format;
NOTE 4 – If the terminal is mobile, this element can be appropriate in providing the actual position of the terminal.
Location: describes the postal address of the terminal;
NOTE 5 – This element can be used to locate the terminal, e.g., maintenance.
InterfaceDevice: describes the list of interactive devices that are attached to the terminal. A terminal device can have zero or more interactive devices attached such as touch panel, keyboard, mouse, camera, sensor, etc. The digital signage operator can make use of the interactive devices to provide interactive services and collect environmental inputs.
7.3. Interactive device
A terminal device can have zero or more interactive devices attached. The digital signage service can make use of the interactive devices to provide interactive services and collect environmental inputs. A set of elements/attributes for the interactive device are shown in Table 4.
Table 4 — Metadata for "interactive device"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
InteractiveDevice | Container to include interactive devices attached to the terminal. | ||
InteractiveDeviceId | Element of InteractiveDevice. | M(1) | xs:NMTOKEN |
Name | Element of InteractiveDevice. | O(0-*) | xs:string |
Type | Element of InteractiveDevice. | R(0-1) | xs:string |
OutputType | Element of InteractiveDevice. | O(0-1) | xs:string |
Status | Element of InteractiveDevice. | M(1) | xs:string |
Supplemental explanations of elements are as follows:
InteractiveDeviceId: denotes the identifier of the interactive device that is attached to the terminal. It is a unique value within the terminal device;
Name: denotes the name of the interactive device. Normally, it is in user-readable format for the user to differentiate or to understand the auxiliary devices attached. It can be in different languages;
Type: describes the type of the interactive device that includes touch panel, keyboard, camera, sensor, etc.;
OutputType: describes the data type of event that can be produced from the interactive device.
NOTE – For example, a mouse or touch panel can produce position data type, a camera can produce video data type.
7.4. Content delivery server
It is possible to have a separate content delivery server to distribute content to the DS terminal. A set of elements/attributes for the information of the "content delivery server" are shown in Table 5.
Table 5 — Metadata for "content delivery server"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
ContentDeliveryServer | Container to include information of the content delivery server. | ||
ContentDeliveryServerId | Element of ContentDeliveryServer. | M(1) | xs:NMTOKEN |
Location | Element of ContentDeliveryServer. | M(1) | |
IPAddress | Element of Location. | O(0-1) | xs:string |
URI | Element of Location. | O(0-1) | xs:anyURI |
Username | Element of ContentDeliveryServer. | O(0-1) | xs:string |
Password | Element of ContentDeliveryServer. | O(0-1) | xs:string |
Timezone | Element of ContentDeliveryServer. | O(0-1) | xs:time |
Supplemental explanations of elements are as follows:
ContentDeliveryServerId: denotes the identifier of the content delivery server;
Location: describes the addressing information to access the content delivery server. Suggested format used for this element is IP Address/port number, URI, uniform resource locator (URL), etc.;
Username and password: denotes the user name and password that is used in accessing the content delivery server;
NOTE – The content delivery server can validate the DS terminal device that provides this information.
Timezone: describes the time zone used by the content delivery server.
7.5. Log server
It is possible to have separate log server to collect log data. A set of elements/attributes for the "logserver" are shown in Table 6.
Table 6 — Metadata for "log server"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
LogServer | Container to include information of log server. | ||
LogServerId | Element of LogServer. | M(1) | xs:NMTOKEN |
Location | Element of LogServer. | M(1) | |
IPAddress | Element of Location. | O(0-1) | xs:string |
URI | Element of Location. | O(0-1) | xs:anyURI |
Username | Element of LogServer. | O(0-1) | xs:NMTOKEN |
Password | Element of LogServer. | O(0-1) | xs:string |
Timezone | Element of LogServer. | O(0-1) | xs:time |
Supplemental explanations of elements are as follows:
LogServerId: denotes the identifier of the log server;
Location: describes the addressing information to access the log server. Suggested format used for this element is IP address/port number, URI, URL, etc.;
Username and Password: denotes the user name and password that is used in accessing log server;
NOTE – The log server can validate the DS terminal device that provides this information.
Timezone: describes the time zone used by the log server.
7.6. Playlist schedule server
It is possible to have a separate server to inform playlist schedule. A set of elements/attributes for the information of the "playlist schedule server" are shown in Table 7.
Table 7 — Metadata for "playlist schedule server"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
PlaylistScheduleServer | Container to include information of playlist scheduleserver. | ||
PlaylistScheduleServerId | Element of PlaylistScheduleServer. | M(1) | xs:NMTOKEN |
Location | Element of PlaylistScheduleServer. | M(1) | |
IPAddress | Element of Location. | O(0-1) | xs:string |
URI | Element of Location. | O(0-1) | xs:anyURI |
Username | Element of PlaylistScheduleServer. | O(0-1) | xs:NMTOKEN |
Password | Element of PlaylistScheduleServer. | O(0-1) | xs:string |
Timezone | Element of PlaylistScheduleServer. | O(0-1) | xs:time |
Supplemental explanations of elements are as follows:
PlaylistScheduleServerId: denotes the identifier of the playlist schedule server;
Location: describes the addressing information to access the playlist schedule server. Suggested format used for this element is IP address/port number, URI, URL, etc.;
Username and Password: denotes the user name and password that is used in accessing playlist schedule server;
NOTE – The playlist schedule server can validate the DS terminal device that provides this information.
Timezone: describes the time zone used by the playlist schedule server.
7.7. Terminal device status
The terminal device can send its device status to the digital signage server; see Figure 4. This informs the digital signage operator of the current condition of the terminal device [ITU-T H.781].
A set of elements/attributes for "terminal device status" metadata is shown in Table 8.
Figure 4 — A flow for terminal device status
Table 8 — Metadata for "terminal device status"
Element/attribute | Definition/semantics | Support | Type |
---|---|---|---|
TerminalDeviceStatus | Container to include information in the terminal device status reported to the server. | ||
TerminalIdRef | Element of TerminalDeviceStatus. | M(1) | xs:NMTOKEN |
Timestamp | Element of TerminalDeviceStatus. | M(1) | xs:dateTime |
FreeSpace | Element of TerminalDeviceStatus. | R(0-1) | xs:string |
CPUSpeed | Element of TerminalDeviceStatus. | O(0-1) | xs:nonNegativeInteger |
Temperature | Element of TerminalDeviceStatus. | O(0-1) | xs:integer |
Uptime | Element of TerminalDeviceStatus. | R(0-1) | xs:nonNegativeInteger |
AVControl | Element of TerminalDeviceStatus. | O(0-1) | |
Volume | Element of AVControl. | O(0-1) | xs:nonNegativeInteger |
Brightness | Element of AVControl. | O(0-1) | xs:nonNegativeInteger |
LastConnect | Element of TerminalDeviceStatus. | O(0-1) | xs:dateTime |
TerminalStatus | Element of TerminalDeviceStatus. | M(1) | xs:string |
Supplemental explanations of elements are as follows:
Timestamp: describes the time and date of the moment that the terminal device has measured the terminal device status;
FreeSpace, CPUSpeed, and Temperature: describe the performance status of the terminal device. The server can detect if the terminal device is overloaded;
AVControl: describes the current sound volume level and brightness level of the terminal device;
NOTE 1 – The server can determine the need for controlling the volume level/brightness level that is appropriate for the environment. It is possible to add other types of audio/visual settings that are needed in the implementation such as contrast, colours, etc.
LastConnect: describes the date/time that the server has interface with the terminal device.
NOTE 2 – The server can check when it has made any control to the terminal device.
7.8. Terminal group
A number of terminal devices can be grouped together to display the same content and playlist schedule. It would be easier to manage and operate multiple digital signage clients with the concept of a group. The digital signage server assigns a client to a group with the set of metadata defined in Table 9.
A set of elements/attributes for "terminal group" metadata is shown in Table 9.
Table 9 — Metadata for "terminal group"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
TerminalGroup | Container to include group information for terminal device. | ||
TerminalGroupId | Element of TerminalGroup. | M(1) | xs:NMTOKEN |
Name | Element of TerminalGroup. | O(0-*) | xs:string |
Username | Element of TerminalGroup. | O(0-1) | xs:NMTOKEN |
Password | Element of TerminalGroup. | O(0-1) | xs:string |
Location | Element of TerminalGroup. | O(0-1) | xs:string |
CreationDateTime | Element of TerminalGroup. | O(0-1) | xs:dateTime |
ParentGroupIdRef | Element of TerminalGroup. | R(0-1) | xs:NMTOKEN |
InheritedDepth | Element of TerminalGroup. | R(0-1) | xs:nonNegativeInteger |
TerminalIdRefList | Element of TerminalGroup. | M(1) | xs:NMTOKENS |
Supplemental explanations of elements are as follows:
TerminalGroupId: denotes the identifier of the group of terminal devices;
Name: denotes the name of the group. Normally, it is in user-readable format for the user to differentiate or to understand the purpose of the group. It can be in different languages;
Username and Password: denotes the user name and password that is commonly used by the terminal devices in the group;
Location: describes the location of the terminal devices in the group, normally in user‑readable format;
NOTE 1 – This element can be used by a user of the digital signage service to understand the estimated location of the group. For example, terminal devices on the first floor of a building can form a "first‑floor" group.
CreationDateTime: describes the creation time and date of the terminal group;
ParentGroupIdRef, InheritedDepth: group can be in nested. The depth of the nested group is expressed in InheritedDepth element.
NOTE 2 – For example, a terminal device on the first floor of a building can belong to a building group and also to a first‑floor group.
8. Play log
Digital signage server has log management functions to aggregate logs from DS terminal devices. The DS terminal device creates records for content played in the DS terminal device and sends the play log to the server. The details functionalities of digital signage server and digital signage client are defined in [ITU-T H.781].
NOTE 1 – The digital signage server controlling and managing multiple clients can be overwhelmed with play log reports from a large number of clients. It is convenient to specify the timing of sending the report to avoid high server load intensity or network congestion [ITU-T H.781].
The digital signage client reports to the digital signage server of its play log with the set of metadata defined in Table 10, which describes a set of elements/attributes for "play log" metadata.
Figure 5 — Flows for reporting play log
Table 10 — Metadata for "play log"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
PlayLog | Container to include information of play log reported by the client. | ||
TerminalIdRef | Element of Playlog. | M(1) | xs:NMTOKEN |
LogItem | Element of Playlog. | O(0-*) | |
StartDateTime | Element of LogItem. | M(1) | xs:dateTime |
EndDateTime | Element of LogItem. | O(0-1) | xs:dateTime |
Duration | Element of LogItem. | O(0-1) | xs:duration |
LogItemType | Element of LogItem. | R(1) | xs:NMTOKEN |
ContentIdRef | Element of LogItem. | O(0-1) | xs:NMTOKEN |
PlaylistIdRef | Element of LogItem. | O(0-1) | xs:NMTOKEN |
PlayedScreenRegion | Element of LogItem. | O(0-1) | |
ScreenLayoutIdRef | Element of PlayedScreenRegion. | O(0-1) | xs:NMTOKEN |
RegionIdRef | Element of PlayedScreenRegion. | O(0-1) | xs:NMTOKEN |
PlayStatus | Element of LogItem. | R(1) | xs:string |
ProofOfPlay | Element of LogItem. | O(0-1) | xs:string |
Supplemental explanations of elements are as follows:
TerminalIdRef: denotes the reference identifier to the digital signage client terminal device that is reporting the play log;
StartDateTime, EndDateTime, and Duration: describes the start time and date and end time and date that the terminal device has displayed the content, playlist, or playlist schedule;
LogType: describes the type of play log;
ContentIdRef and PlayListIdRef: denotes the reference identifier to the content, playlist, or playlist schedule that has been displayed in the terminal device;
PlayedScreenRegion: denotes the reference identifier to the screen layout and region in which the content, playlist, or playlist schedule has been displayed;
NOTE 3 – If there are multiple regions, multiple play logs are generated for a certain time.
PlayStatus: describes the status of displaying the content/playlist;
ProofOfPlay: describes proof that the content/playlist has been displayed. This element is implementation-dependent.
9. Content delivery scheduling
The digital signage server manages schedules for content delivery and requests the content delivery server to distribute content to multiple DS terminal devices. The delivery of content is performed between the content delivery server and the content delivery client. The detailed functionalities of digital signage server, content delivery server, and content delivery client are defined in [ITU-T H.781].
There are three types of content delivery: push-mode, pull-mode and P2P-mode. Figure 6 consolidates operational flows of the three modes into one flow diagram.
A set of elements/attributes for "content delivery schedule" metadata is shown in Table 11.
Figure 6 — Flows for content delivery scheduling
Table 11 — Metadata for "content delivery schedule"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
ContentDeliverySchedule | Container to include information of the content delivery schedule. | ||
ContentDeliveryScheduleId | Element of ContentDeliverySchedule. | M(1) | xs:NMTOKEN |
ContentIdRefList | Element of ContentDeliverySchedule. | M(1) | xs:NMTOKENS |
TerminalGroupIdRefList | Element of ContentDeliverySchedule. | O(0-1) | xs:NMTOKENS |
PublicationDateTime | Element of ContentDeliverySchedule. | R(1) | xs:dateTime |
DeliveryDeadline | Element of ContentDeliverySchedule. | O(0-1) | xs:dateTime |
SendDateTime | Element of ContentDeliverySchedule. | O(0-1) | xs:dateTime |
DeliveryMethod | Element of ContentDeliverySchedule. | R(1) | xs:NMTOKENS |
Supplemental explanations of elements are as follows:
ContentDeliveryScheduleId: denotes the identifier of the content delivery schedule. It is used to differentiate multiple schedules that are issued by the server that provides information on the content delivery schedule;
ContentIdRefList: denotes the list of references to the content that are delivered from the content server;
TerminalGroupIdRefList: describes the list of references to the terminal group that this metadata applies;
DeliveryMethod: describes the delivery method used between the content delivery server and the content delivery client. The PushMode is described in clause 8.5.1 in [ITU-T H.781], PullMode is described in clause 8.5.2 in [ITU-T H.781], and P2PMode is described in clause 8.5.3 of [ITU-T H.781];
PublicationDateTime: describes the time and date that the server has issued the content delivery schedule;
NOTE 1 – If multiple schedules are received with the same ContentDeliveryScheduleId, the metadata with the latest publication time will be effective. The outdated schedule is ignored.
DeliveryDeadline: describes the deadline time/date in which the content must be delivered. After the deadline, the content is assumed to be outdated and is not needed by the client;
NOTE 2 – Content such as current weather conditions, is an example of outdated information for the following day.
SendDateTime: describes the content delivery date/time, which indicates the time to start content delivery and is assigned in advance.
10. Playlist schedule
Digital signage server creates and manages a schedule of playlists. The digital signage client plays playlists according to the playlist schedule. Detail functionalities of digital signage server and digital signage client are defined in [ITU-T H.781].
10.1. Playlist schedule
A set of elements/attributes for "playlist schedule" are shown in Table 12.
Table 12 — Metadata for "playlist schedule"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
PlaylistSchedule | Container to include information of playlist schedule. | ||
PlaylistScheduleId | Element of PlaylistSchedule. | M(1) | xs:NMTOKEN |
Name | Element of PlaylistSchedule. | O(0-*) | xs:string |
TerminalGroupIdRefList | Element of PlaylistSchedule. | O(0-1) | xs:NMTOKENS |
PublicationDateTime | Element of PlaylistSchedule. | R(1) | xs:dateTime |
ValidDateTime | Element of PlaylistSchedule. | O(0-1) | xs:dateTime |
Expiration | Element of PlaylistSchedule. | O(0-1) | xs:dateTime |
Priority | Element of PlaylistSchedule. | O(0-1) | xs:nonNegativeInteger |
ApplyDateList | Element of PlaylistSchedule. | O(0-1) | xs:date |
ApplyDayOfWeekList | Element of PlaylistSchedule. | O(0-1) | xs:NMTOKEN |
StartTime | Element of PlaylistSchedule. | R(1) | xs:dateTime or xs:time |
EndTime | Element of PlaylistSchedule. | O(0-1) | xs:dateTime or xs:time |
PlaylistIdRef | Element of PlaylistSchedule. | M(1-*) | xs:NMTOKEN |
RepeatNumber | Element of PlaylistIdRef. | O(0-1) | xs:positiveInteger |
Supplemental explanations of elements are as follows:
PlaylistScheduleId: denotes the identifier of the playlist schedule. It is used to differentiate multiple schedules that are issued by the server that provides playlist schedule;
Name: denotes the name of the playlist schedule. Normally, it is in user-readable format for the user to differentiate or to understand the purpose of the playlist schedule. It can be in different languages;
TerminalGroupIdRefList: denotes the list of TerminalGroupId in which the pertaining playlist schedule applies. The terminal device can ignore playlist schedules that do not have the TerminalGroupId to which the terminal device belongs;
NOTE 1 – This information is omitted, the playlist schedule applies to every terminal device that receives this playlist schedule;
PublicationDateTime: describes time and date that the server has issued the playlist schedule. If multiple schedules are received with the same PublicationDateTime, the metadata with the latest publication time will be in effect. Outdated publication times are ignored;
ValidDateTime: describes time and date in which the playlist schedule becomes effective. The playlist schedule can be distributed before the actual play time. The operator needs to consider when the terminal device can download all content in the playlist schedule when setting the valid time;
NOTE 2 – If this element is omitted, handling of this element is implementation-dependent (e.g., start display whenever possible).
Expiration: describes time and date in which the playlist schedule expires;
NOTE 3 – If this element is omitted, handling of this element is implementation-dependent (e.g., expiration time is infinite until new PlaylistSchedule with same identifier is received).
Priority: describes the priority of the playlist schedule. It is possible to have more than one playlist schedule for single moment. The playlist schedule with higher priority is displayed. The playlist schedule with lower priority can be played is implementation-dependent (e.g., high priority playlist are player often than low priority playlist);
NOTE 4 – If omitted, handling of this element is implementation-dependent (e.g., assign lowest priority).
ApplyDateList: describes the specific date in which the playlist should be played. It is possible to set schedule for certain date (e.g., Independence Day). It should set to the same or later time/date than the ValidTime;
ApplyDayOfWeekList: describes the day of the week in which the playlist are displayed. The suggested values are Everyday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and PublicHolidays;
StartTime: describes the time/date in which the content should start playing. It is possible to set different schedule for morning, evening, night, etc.;
NOTE 5 – If StartTime is not assigned, the content may be played immediately based on when the terminal device receives a playlist.
EndTime: describes the time/date in which the content should start playing;
PlaylistIdRef: denotes the reference identifier to the playlist. It consists of multiple PlaylistIdRef that can represent the play order of the multiple playlist. The playlist contains a list of contents to be played by the digital signage terminal device;
RepeatNumber: describes the number of time the playlist should be repeated.
NOTE 6 – If omitted, handling of this element is implementation-dependent (e.g., repetition time is infinite when an exact value is not specified).
10.2. Playlist
A set of elements/attributes for "playlist" are shown in Table 13.
Table 13 — Metadata for "playlist"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
Playlist | Container to include information of playlist. | ||
PlaylistId | Element of Playlist. | M(1) | xs:NMTOKEN |
Name | Element of Playlist. | O(0-*) | xs:string |
Priority | Element of Playlist. | O(0-1) | xs:positiveInteger |
PlayOrder | Element of Playlist. | O(0-1) | xs:NMTOKEN |
ContentIdRef | Element of Playlist. | M(1-*) | xs:NMTOKEN |
TargetRegion | Element of Playlist. | O(0-1) | |
ScreenLayoutIdRef | Element of TargetRegion. | O(0-1) | xs:NMTOKEN |
RegionIdRef | Element of TargetRegion. | O(0-1) | xs:NMTOKEN |
Duration | Element of Playlist. | O(0-1) | xs:duration |
TransitionEffect | Element of Playlist. | O(0-1) | xs:string |
Supplemental explanations of elements are as follows:
PlaylistId: denotes the identifier of the playlist. It is possible to define multiple playlists for various purposes;
Name: denotes the name of the playlist. Normally, it is in user-readable format for the user to differentiate and to understand the purpose of the playlist. It can be in different languages;
Priority: describes the priority of the playlist. The playlist is displayed when no playlist with higher priority exists;
NOTE 1 – If omitted, handling of this element is implementation-dependent (e.g., assign lowest priority).
PlayOrder: describes the order of the list of contents to be played in the playlist. Suggested values that can be used are sequential, random, but not limited;
NOTE 2 – If omitted, handling of this element is implementation-dependent (e.g., play order is sequential).
ContentIdRef: denotes the reference identifier of the content to be played by the terminal device. It consists of multiple ContentIdRef which can represent the play order of multiple contents;
NOTE 3 – The client can use this information to recognise the list of contents that it needs to retrieve from the content delivery server.
TargetRegion: denotes the reference identifier to the screen layout and region of screen in which the playlist is displayed;
NOTE 4 – For a single screen layout and region in the terminal device, it shall be omitted.
Duration: describes the duration of time expected for playing the list of contents in the playlist;
TransitionEffect: describes the effects used between content displayed to allow a smooth transition.
NOTE 5 – [b-W3C CSS Transitions] and [b-W3C CSS Transforms] have defined methods of expressing HTML5 transition effects that can be used as a reference for this element.
10.3. Contents
A set of elements/for "contents" are shown in Table 14.
Table 14 — Metadata for "contents"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
Contents | Container to include information of content. | ||
ContentId | Element of Contents. | M(1) | xs:NMTOKEN |
Title | Element of Contents. | R(0-*) | xs:string |
Synopsis | Element of Contents. | O(0-*) | xs:string |
Explanation | Element of Contents. | O(0-*) | xs:string |
KeywordList | Element of Contents. | O(0-1) | |
Keyword | Element of KeywordList. | O(1-*) | xs:string |
Genre | Element of Contents. | O(0-*) | tva:GenreType |
PreferenceCondition | Element of Contents. | O(0-*) | xs:string |
Language | Element of Contents. | O(0-1) | |
AudioLanguageList | Element of Language. | O(0-1) | xs:language |
CaptionLanguageList | Element of Language. | O(0-1) | xs:language |
MimeType | Element of Contents. | R(0-*) | xs:string |
RelatedMaterial | Element of Contents. | O(0-*) | xs:string |
ProductionDate | Element of Contents. | O(0-1) | xs:dateTime or xs:date |
Release | Element of Contents. | O(0-1) | xs:string |
Duration | Element of Contents. | O(0-1) | xs:duration |
Availability | Element of Contents. | O(0-*) | xs:dateTime |
ContentType | Element of Contents. | R(0-1) | xs:NMTOKEN |
FileSize | Element of Contents. | R(0-1) | xs:nonNegativeInteger |
PromotionalInformation | Element of Contents. | O(0-*) | xs:string |
CreationInformation | Element of Contents. | O(0-*) | xs:string |
FileName | Element of Contents. | R(0-1) | xs:anyURI |
ContentDeliveryServerIdRefList | Element of Contents. | O(0-1) | xs:NMTOKENS |
NOTE – Elements derived from [ITU-T H.780]: ContentId, Title, Synopsis, Explanation, Keyword, Genre, PreferenceCondition, Language, RelatedMaterial, ProductionDate, Release, Duration, Availability, ContentType, FileSize, PromotionalInformation, and CreationInformation. |
Supplemental explanations of elements are as follows:
ContentId: denotes the identifier of the content;
Title: describes the title of the content, which can be in different languages;
Synopsis: describes a simple summary of the content, which can be in different languages;
Explanation: describes a detailed description of the content, which can be in different languages;
KeywordList: describes a list of keywords for the content. A keyword can be a single word or an entire phrase made up of multiple words, which can be in different languages;
Genre: describes genre for the contents. TV-Anytime Forum has defined Genre Dictionary in the Appendix B of Metadata Specification, [ETSI TS 102 822-3-1], which can be used as a reference. Some of the categories include information, drama, entertainment, music, enrichment, movies, animations/special effects, hobby, sport events, pure information, information/tabloid, documentary, education, and children;
PreferenceCondition: describes time, place and/or specific parts of content that can be associated with a particular set for usage restriction. This information can be in different languages;
Language: describes type of languages used in audio and caption;
NOTE 1 – [b-ISO 639-2] defines three-letter codes for various languages. [b-RFC 5646] defines semantics of language tags for indicating the language often used in an information object in Web services.
MimeType: describes the coding method used in the content;
NOTE 2 – [b-RFC 2046] defines method of expressing the coding method by combining category with the coding type. Some examples include text/plain, image/jpeg, audio/mpeg, video/mp4, etc.
RelatedMaterial: describes references to any other material related to the content;
vProductionDate: describes the date or date/time when the content was produced;
Release: describes the region and date of release of the content;
Duration: describes an approximate duration of the content;
Availability: describes when the content is scheduled to start or when it should end;
ContentType: describes the medium of content (e.g., video and audio, multimedia application, audio only, still image);
FileSize: describes the size, in bytes, of the file where the content is stored. Suggested units are B, KB, MB, GB, and TB;
PromotionalInformation: describes the information on the products or the services in the content when the content is presented for the purpose of promotion or advertisement. It can be in different languages;
CreationInformation: describes the information concerning the content creation (e.g., title, creator, classification). It can be in different languages;
FileName: describes the file name of the content in the local memory that is downloaded from the server;
ContentDeliveryServerIdRefList: denotes a list of reference identifier of the content delivery servers. Digital signage client can use this information to find the server to retrieve content.
11. Screen
11.1. Screen layout
This clause gives the definition of metadata for screen layout. Screen layout may be delivered to terminal devices to configure and/or reconfigure the layout of content to be displayed. Screen layout can be delivered separately from content or delivered with content.
A set of elements/attributes for "screen layout" are shown in Table 15.
Table 15 — Metadata for "screen layout"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
ScreenLayout | Container to include information of screen layout. | ||
ScreenLayoutId | Element of ScreenLayout. | M(1) | xs:NMTOKEN |
Name | Element of ScreenLayout. | O(0-*) | xs:string |
Region | Element of ScreenLayout. | O(0-*) |
Supplemental explanations of elements are as follows:
ScreenLayoutId: denotes the identifier of the screen layout. It is possible to have different types of configurations of screen layout;
Name: denotes the name of the screen layout. Normally, it is in user-readable format for the user to differentiate or to understand the purpose of the screen layout. It can be in different languages;
Region: denotes the list of containers to include regions that constitutes the screen layout.
11.2. Region
This clause gives the definition of the elements/attributes for region. Region information is a part of screen layout information to configure an area on the screen where content is to be displayed. When the content is delivered to terminal devices, the identifier of region of screen layout is delivered to identify the area on the screen where content is to be displayed.
NOTE 1 – Screen layout of digital signage service can be dynamically changed by updating values in Table 16. For example, in the case of emergencies including disasters, alert messages are shown in the blank space after the current content presented on the screen is squeezed and/or moved.
A set of elements/attributes for region information are shown in Table 16.
Table 16 — Metadata for "region"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
Region | Container to include information of region of screen. | ||
RegionId | Element of Region. | M(1) | xs:NMTOKEN |
Name | Element of Region. | O(0-*) | xs:string |
ReferencingPosition | Element of Region. | O(0-1) | xs:string |
PixelResolution | Element of Region. | O(0-1) | xs:string |
Z-depth | Element of Region. | O(0-1) | xs:integer |
Background colour | Element of Region. | O(0-1) | xs:string |
Supplemental explanations of elements are as follows:
RegionId: denotes the identifier of the region in the screen layout. It is a unique value within the screen layout. Region is a portion of a screen layout;
Name: denotes the name of the region. Normally, it is in user-readable format for the user to differentiate or to understand the purpose of the region. It can be in different languages;
ReferencingPosition: describes the referencing point of the region, and (x,y) coordinate of the referencing point. Available values are (x, y), upper-left, upper-right, lower-left, lower-right and centre;
PixelResolution: describes the horizontal and vertical size of the region along with aspect ratio of the region. Thus, it consists of three information: width, height and aspectRatio;
NOTE 2 – If the pixel resolution is not provided, the width and height of a region is the same as those of a display in a terminal device.
Z-depth: describes the number of hierarchy of the region.
BackgroundColour: describes the suggested background colour used in the region. The suggested format is RGB, YCbCr, and HSV.
12. Interactive service
This clause gives the definition of metadata for interactive service. Figure 7 shows the basic flow for the interactive service.
Any function (such as digital signage server, audience measurement client and different functions within the digital signage client) may need to be informed of a particular event received from the interactive device. Upon occurrence of events from the interactive device, the digital signage client informs the event requester with a set of metadata in the event as defined in Table 17.
Figure 7 — Flow for interactive service
An example interactive service is as follows. The digital signage client has a touch screen that shows the map of a supermarket. The user touches the milk section to see the details of milk that are sold in the supermarket. The content displayed on the screen can be changed to display the details of milk products. For this use case, the function for scheduling a playlist will need to register an event to be notified from the touch screen.
A set of elements/attributes for "event" metadata is shown in Table 17.
Table 17 — Metadata elements in "event"
Element/ attribute | Definition/semantics | Support | Type |
---|---|---|---|
Event | Container to include information of the event to be notified to the requester. | ||
TerminalIdRef | Element of Event. | M(1) | xs:NMTOKEN |
InteractiveDeviceIdRef | Element of Event. | M(1) | xs:NMTOKEN |
EventDataType | Element of Event. | O(0-1) | xs:NMTOKEN |
EventData | Element of Event. | O(0-*) | xs:string |
EventAction | Element of Event. | M(1) | xs:NMTOKEN |
EventDateTime | Element of Event. | R(1) | xs:dateTime |
Supplemental explanations of elements are as follows:
TerminalIdRef: denotes the reference to the digital signage terminal device that has the interactive device attached;
InteractiveDeviceIdRef: denotes the reference to the interactive device that is attached to the TerminalIdRef in which an event has occurred;
EventDataType: denotes the data type of event that has occurred in the interactive device;
EventData: denotes the input data received from the interactive device. This metadata has used xs:string for the type of EventData, however, it can be in any format (such as text, coordinate position of the screen, audio stream, video stream, etc.) in accordance with the EventDataType;
EventAction: denotes the action performed by the digital signage client;
NOTE – For example, on failure to the interactive device, the event action is set to stop notification, since it is not possible to make correct notifications for such circumstances.
Annex A
Relation among metadata tables
(This annex forms an integral part of this Recommendation.)
This annex describes the relations among metadata entities that are used in this Recommendation. These entities are 'client configuration', 'terminal device', 'terminal device status', 'terminal group', 'interactive device', 'content delivery server', 'log server', 'playlist schedule server', 'content delivery schedule', 'play log', 'playlist schedule', 'contents', 'playlist', 'screen layout', 'region' and 'event'.
In Figure A.1, metadata entities including reference elements and the relations are described. The relations between two entities are derived from the "Support" attribute of reference elements in the metadata table, and the notation is as follows:
M(1) is relation 1 to 1;
M(1-*) is relation 1 to 1..n;
R(0-1) is relation 1 to 0..1;
R(0-*) is relation 1 to 0..n;
O(0-1) is relation 1 to 0..1;
O(0-*) is relation 1 to 0..n.
If "type" attribute represents a list of references, the notation is as follows:
M(1) is relation 1 to 1..n;
O(0-1) is relation 1 to 0..n.
Arrow (A→B) shows a relation "A refers to B".
Figure A.1 — Relations among metadata entities
Bibliography
[b‑ITU‑T H.760] | Recommendation ITU-T H.760, Overview of multimedia application frameworks for IPTV services, 1st edition. |
[b‑ITU‑T X.1255] | Recommendation ITU-T X.1255, Framework for discovery of identity management information, 1st edition. |
[b‑ISO 639‑2] | ISO 639-2 | URN urn:iso:std:iso:639:-2:stage-90.92:ed-1, Codes for the representation of names of languages — Part 2: Alpha-3 code, 1st edition. |
[b‑RFC 2046] | IETF RFC 2046 ( 1996), Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types. |
[b‑RFC 5646] | IETF RFC 5646 ( 2009), Tags for Identifying Languages. |
[b‑W3C CSS Transforms] | W3C css-transforms-1, CSS Transforms Module Level 1. |
[b‑W3C CSS Transitions] | W3C css-transitions-1, CSS Transitions. |
[b‑POPAI playlog] | b-POPAI playlog, Digital Signage Network Playlog Standards, Version 1.1, 23 August 2006. https://www.pdffiller.com/51014346-Standards-Digital-Signage-Playlog-V1o1-2006pdf-Digital-Signage-Network-Playlog-Standards-Popai. |