INTERNATIONAL ORGANISATION FOR STANDARDISATION

ORGANISATION INTERNATIONALE DE NORMALISATION

ISO/IEC JTC 1/SC 29/WG 11

CODING OF MOVING PICTURES AND AUDIO

ISO/IEC JTC 1/SC 29/WG 11 N8696

Hangzhou, CN – October 2006

Source: / Systems
Title: / Text of ISO/IEC XYZW CD XXXXX CD Media Streaming MAF Protocols
Status / Approved

ISO/IECJTC1/SC29N

Date:2006-10-27

ISO/IECCDXXXXX-1

ISO/IECJTC1/SC29/WG11

Secretariat:ANSI

Information technology— Supplemental media technologies— Part1: Media streaming MAF protocols

Élément introductif— Élément central— Partie1: Titre de la partie

Warning

This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard.

Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

ISO/IECCDXXXXX-1

Copyright notice

This ISO document is a working draft or committee draft and is copyright-protected by ISO. While the reproduction of working drafts or committee drafts in any form for use by participants in the ISO standards development process is permitted without prior permission from ISO, neither this document nor any extract from it may be reproduced, stored or transmitted in any form for any other purpose without prior written permission from ISO.

Requests for permission to reproduce this document for the purpose of selling it should be addressed as shown below or to ISO's member body in the country of the requester:

[Indicate the full address, telephone number, fax number, telex number, and electronic mail address, as appropriate, of the Copyright Manger of the ISO member body responsible for the secretariat of the TC or SC within the framework of which the working document has been prepared.]

Reproduction for sales purposes may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.

ContentsPage

1Scope......

2Normative references......

3Terms and definitions......

4Symbols and abbreviated terms......

5System overview......

6Access Protocols......

6.1Access Protocols Representation specification......

6.2Access Protocol specification......

7Domain management protocols......

7.1Domain management overview......

7.2Domain Information Representation specification......

7.3Domain Protocol Information Representation specification......

7.4Domain Use Data Representation specification......

7.5Domain Management Protocols specification......

7.6Simultaneous Content Usage Detection protocol specification......

8Reference software......

9Conformance testing......

AnnexA (informative) Protocol Description Schemas......

A.1Domain Information Representation schema......

A.2Domain Protocol Information Representation schema......

A.3Access Protocols Representation schema......

Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IECJTC1.

International Standards are drafted in accordance with the rules given in the ISO/IECDirectives, Part2.

The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75% of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

ISO/IECXXXXX1 was prepared by Joint Technical Committee ISO/IECJTC1, Information tec hnology, Subcommittee SC29, Coding of audio, picture, multimedia and hypermedia information.

ISO/IECXXXXX consists of the following parts, under the general title Information technology— Supplemental media technologies:

Part1: Media streaming MAF protocols

Introduction

ISO/IEC vwxyzXXXXX is a suite of standards that the Moving Picture Experts Group has converted into ISO/IEC standards starting from submissions received by proponents of Multimedia Application Format standards after applying due diligence in reviewing the proposed technologies and national body review during the process of balloting the draft standards.

The parts of ISO/IEC vwxyzXXXXX have been selected for the sole purpose of providing one or more technologies to a Multimedia Application Format standard for which no corresponding MPEG technology was available or could be developed synchronously with the target Multimedia Application Format standard. However, the Moving Picture Experts Group may decide to develop its own standards with comparable features to standards in ISO/IEC vwxyzXXXXX.

©ISO/IEC2006— All rights reserved©ISO/IEC2006— All rights reserved / 1

ISO/IECCDXXXXX-1

Information technology— Supplemental media technologies— Part1: Media streaming MAF protocols

1Scope

Part 1 of ISO/IEC vwxyzXXXXX, also known as “Media Streaming MAF Technologies”, specifies a set of protocols to be used in conjunction with ISO/IEC 23000-5 ”Media Streaming Player” in applications where governed audio and video information is streamed to an end-user device.

2Normative references

The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

The following normative documents contain provisions which, through reference in this text, constitute provisions of this part of ISO/IEC 23000. At the time of publication of this document, the specific editions indicated below were valid. However, parties to agreements based on this part of ISO/IEC 23000 are encouraged to investigate the possibility of applying the most recent editions of the normative documents indicated below. For undated references, the latest edition of the normative document referred to applies. Members of ISO and IEC maintain registers of currently valid International Standards. The Telecommunication Standardisation Bureau maintains a list of currently valid ITU-T Recommendations.

ISO/IEC 11172-3:1993Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 3: Audio

ISO/IEC 13818-1:2000 Information technology -- Generic coding of moving pictures and associated audio information: Systems

ISO/IEC 13818-2:2000 Information technology -- Generic coding of moving pictures and associated audio information: Video

ISO/IEC 14496-2:2004 Information technology -- Coding of audio-visual objects -- Part 2: Visual

ISO/IEC 14496-3:2005 Information technology -- Coding of audio-visual objects -- Part 3: Audio

ISO/IEC 14496-10:2005 Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding

ISO/IEC 14496-12:2005 Information technology -- Coding of audio-visual objects -- Part 12: ISO base media file format

ISO/IEC 14496-13:2004 Information technology -- Coding of audio-visual objects -- Part 13: Intellectual Property Management and Protection (IPMP) extensions

ISO/IEC 14496-14:2003 Information technology -- Coding of audio-visual objects -- Part 14: MP4 file format

ISO/IEC 21000-2:2005 Information technology -- Multimedia framework (MPEG-21) -- Part 2: Digital Item Declaration

ISO/IEC 21000-3:2003 Information technology -- Multimedia framework (MPEG-21) -- Part 3: Digital Item Identification

ISO/IEC 21000-4:2006 Information technology -- Multimedia framework (MPEG-21) -- Part 4: Intellectual Property Management and Protection Components

ISO/IEC 21000-5:2004 Information technology -- Multimedia framework (MPEG-21) -- Part 5: Rights Expression Language

ISO/IEC 21000-9:2005 Information technology -- Multimedia framework (MPEG-21) -- Part 9: File Format

ISO/IEC CD 21000-14 Information technology -- Multimedia framework (MPEG-21) -- Part 14: Conformance Testing

ISO/IEC 21000-16:2005 Information technology -- Multimedia framework (MPEG-21) -- Part 16: Binary Format

ISO/IEC 21000-18:200x Information technology -- Multimedia framework (MPEG-21) -- Part 18: Digital Item Streaming

ISO/IEC 23001-1:2006 Information technology -- MPEG systems technologies -- Part 1: Binary MPEG format for XML

(the list is not complete)

3Terms and definitions

For the purposes of this document, the following terms and definitions apply.

3.1

Content Provider Device

A device delivering content to another device

3.2

device

A combination of hardware and software or just an instance of software that allows a user to perform actions

3.3

Domain Management Device

A device performing any of the following actions: first, creation, renewal, or deletion of domains. Second, allowing either a device or a user to join, renew, or leave a domain. Third and finally, verifying domain use data generated by devices in a domain.

3.4

IPMP Processor

A module in a Media Streaming Player in charge of retrieving, instantiating, initialising and managing the IPMP Tools required to perform actions on content.

3.5

IPMP Tool

A module performing (one or more) IPMP functions such as authentication, decryption, watermarking, etc.

3.6

IPMP Tool Agent

Module instantiating, initialising, authenticating, and supervising any operation performed between IPMP Tools within anIPMP Tool Group

3.7

IPMP Tool Body

Executable code implementing either a Single IPMP Tool or an IPMPTool Pack

3.8

IPMP Tool Group

A combination of several IPMP Tools

3.9

IPMP Tool Pack

Module that comprises anIPMP Tool Group and its IPMP Tool Agent

3.10

IPMP Tool Provider Device

A device delivering IPMP Tools to another device

3.11

Licence Provider Device

A device delivering licenses to another device

3.12

user

Any identifiable person or legal entity using a device.

4Symbols and abbreviated terms

Throughout this part of ISO/IEC Standard, Qualified Names are written with a namespace prefix followed by a colon followed by the local part of the Qualified Name.

For clarity, throughout this part of ISO/IEC 21000, consistent namespace prefixes are used. Table 1 gives these prefixes and the corresponding namespace.

Table1— Namespaces and prefixes

Prefix / Corresponding namespace
ipmpdidl / urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS
ipmpmsg / urn:mpeg:mpeg21:2006:07-IPMPMESSAGES-NS
ipmpinfo / urn:mpeg:mpeg21:2004:01-IPMPINFO-NS
didl / urn:mpeg:mpeg21:2002:02-DIDL-NS
didmodel / urn:mpeg:mpeg21:2002:02-DIDMODEL-NS
dii / urn:mpeg:mpeg21:2002:01-DII-NS
r / urn:mpeg:mpeg21:2003:01-REL-R-NS
xsd /
xsi /
dsig /

5System overview

The figure given below provides an example of the Media Streaming Devices (MSD) that are directly required in a general Media Streaming MAF system [].

Figure 1—Reference diagram of a Media Streaming system

Any device in the reference diagram is calledMedia Streaming Device (MSD). An MSD can be any of the following devices

  1. Media Streaming Player, a device capable of consuming content for human use
  2. Content Provider Device, a device capable of interacting with a Media Streaming Player to provide Media Streaming Content
  3. Licence Provider Device, a device capable of interacting with a Media Streaming Player to provide Licences
  4. IPMP Tool Provider Device, a device capable of interacting with a Media Streaming Player to provide IPMP Tools
  5. Domain Management Device, a device capable of managing various functions needed for a proper functioning of a domain, e.g.
  6. Create domain
  7. Renew domain
  8. Delete domain
  9. Add device to domain
  10. Remove device from domain

This International Standard specifies the protocols required for MDSs in an MS MAF system to interoperate.

In the most general case Media Streaming Player 1 obtains streaming content from a Content Provider Device using a Content Access Protocol. In order to use that content Media Streaming Player 1 obtains a licence from a License Provider Device using a License Access Protocol. Further, to actually process the content, Media Streaming Player 1 may need to obtain the appropriate IPMP Tools from an IPMP Tool Provider Device using an IPMP Tool Access Protocol.

The user may have a plurality of Media Streaming Players and may like to be able to use the content on all of them. In order to do that, he needs to have a domain created using a Domain Management Device and then obtain a domain-wide licence. All interactions between Media Streaming Players and the Domain Management Device can be implemented by a set of protocols specified in [1].

6Access Protocols

6.1Access Protocols Representation specification

This Section specifies the messages exchanged between devices when communicating with the purpose of obtaining from another device:

  1. Content
  2. A license
  3. An IPMP Tool Body

The namespace defining the access protocols, identified hereinafter as msap, defines an abstract base type from which the rest of the elements are derived. This is the following:

<complexType name="AccessProtocolBaseType" abstract="true"/>

Figure 2— The msap:AccessProtocolBaseType complex type

A number of elements defined in msap namespace derive from the following complex type:

<complexType name="AccessProtocolType">

<complexContent>

<extension base="msap:AccessProtocolBaseType">

<sequence>

<element name="TransactionID" type="unsignedByte"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 3—The msap:AccessProtocolType complex type

The msap:AccessProtocolType contains the msap:TransactionID element which is used to track a message exchange session.

A device sends the following message to the content provider device in order to access content:

<element name="RequestContent" type="msap:RequestType"/>

<complexType name="RequestType">

<complexContent>

<extension base="msap:AccessProtocolType">

<sequence>

<element ref=" dii:Identifier"/>

<element ref="r:license" minOccurs="0"/>

<element ref="dsig:Signature" minOccurs="0"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 4—The msap:RequestContent element

The semantics for the msap:RequestContent message are given below:

  • dii:Identifier: The content ID of the requested item of content
  • r:license: an optional license indicating that
  • the requestor is entitled to receive content
  • specifying additional information about the requested license needed to acess the requested content
  • dsig:Signature: an optional digital signature of the msap:RequestContent message by the device

A device sends the following message to the License Provider Device in order to access a license:

<element name="RequestLicense" type="msap:RequestLicenseType"/>

<complexType name="RequestLicenseType">

<complexContent>

<extension base="msap:AccessProtocolType">

<sequence>

<element ref="dii:Identifier"/>

<element ref="r:license" minOccurs="0"/>

<element ref="didl-msxDIHash" minOccurs="0"/>

<element ref="dsig:Signature" minOccurs="0"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 5—The msap:RequestLicense element

The semantics for the msap:RequestLicense message are given below:

  • dii:Identifier: The Content ID of the requested item of content
  • r:license: an optional license specifying additional information about the requested license needed by the requestor to acess the requested content
  • didl-msx:DIHash: an optional hash value of the Digital Item associated to the content whose License is requested.
  • dsig:Signature: an optional digital Signature of the msap:RequestContent message by the device.

<element name="Ack" type="msap:ReqType"/>

<complexType name="ReqType">

<complexContent>

<extension base="msap:AccessProtocolType">

<attribute name="Result" type="boolean" use="required"/>

</extension>

</complexContent>

</complexType>

Figure 6—The msap:Ack element

The msap:Ack element extends the msdp:AccessProtocolType complex type by specifying a boolean attribute: Result, which shall indicate whether the protocol was carried out with success or otherwise. This message is sent by any entity involved in the protocols to access content or access license, with the purpose of acknowledging the other party involved in the protocol of the success or failure of the protocol.

<element name="RequestLicenseResult" type="msap: RequestLicenseResultType"/>

<complexType name="RequestLicenseResultType">

<complexContent>

<extension base="msap:AccessProtocolType">

<sequence>

<element ref="r:license"/>

<element ref="dsig:Signature" minOccurs="0"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 7—The msap:RequestLicenseResult element

The msap:RequestLicenseResult element is employed by the License Provider to deliver a license. This message may also be signed by the License Provider.

<element name="RequestContentResult" type="msap:RequestContentResultType"/>

<complexType name="RequestContentResultType">

<complexContent>

<extension base="msap:AccessProtocolType">

<sequence>

<element name="ContentServerURI" type="anyURI"/>

<element ref="dsig:Signature" minOccurs="0"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 8—The msap:RequestContentResult element

The msap:RequestContentResult element is employed by the Content Provider to inform that a DI with a bundled license is available for downloading at a specified URI. This message may also be signed by the License Provider.

<element name="RequestDRMToolBody" type="msap:RequestDRMToolBodyType"/>

<complexType name="RequestDRMToolBodyType">

<complexContent>

<extension base="msap:AccessProtocolType">

<sequence>

<element ref="ipmpinfo:IPMPToolID"/>

<element ref="ipmpinfo-msx:DeviceInformation"/>

<element name="LicenseSignature" type="dsig:SignatureType" minOccurs="0"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 9—The msap:RequestDRMToolBody element

The msap:RequestDRMToolBody element is employed by a device to obtain an IPMP Tool Body from an IPMP Tool Provider Device. The semantics is given below:

  • ipmpinfo:IPMPToolID: The IPMP Tool identified of the requested IPMP Tool Body
  • ipmpinfo-msx:DeviceInformation: Device Information allowing the IPMP Tool Provider Device to send an appropriate IPMP Tool Body
  • LicenseSignature: The signature of the license granting the right to access the resource by device or user

<element name="RequestDRMToolBodyResponse" type="msap:RequestDRMToolBodyResponseType"/>

<complexType name="RequestDRMToolBodyResponseType">

<complexContent>

<extension base="msap:AccessProtocolType">

<sequence>

<element ref="ipmpinfo-msx:ToolBody" maxOccurs="unbounded"/>

</sequence>

</extension>

</complexContent>

</complexType>

Figure 10—The msap:RequestDRMToolBodyResponse element

The msap:RequestDRMToolBodyResponse element is employed by an IPMP Tool Provider Device to deliver an IPMP Tool Body.

6.2Access Protocolspecification

This section provides the protocols to access an item of content or parts thereof, namely

  1. Items of content with bundled license,
  2. licenses
  3. IPMP Tools
  4. keys

These parts of content may be packaged for delivery as file or stream for use by a device.

The protocols to access content as a file are based on a transactional protocol called Remote Access Protocol (RAP) that is supported over an existing network protocol (TCP/IP or HTTP in the case of Internet/WWW access). In terms of security, the RAP uses two security layers:

  • Application-Level: this corresponds to the messages described in the RAP in this document;
  • Network-Level: this is represented by an underlying security protocol, i.e. the SSLv3/TLSv1 protocol.

Figure 11—RAP Security Layers

If content referenced by the DI is protected, licenses or references to licenses or references to license services are stored in the DI.

6.2.1Protocol to Access Content as File

This section specifies the Remote Content Access Protocol (RCAP). Successful execution of the protocol results in content with a license that is bound to a specific device, user or domain being available on the requesting device. This protocol is based on the exchange of messages between two basic components: the device and the Content Provider Device.