W3C

Implementation report for the API for Media Resources 1.0

This version:
http://www.w3.org/2008/WebVideo/Annotations/drafts/API/implementation-report.html
Editors:
Thierry Michel, W3C
Florian Stegmaier, University of Passau
Werner Bailer, JOANNEUM RESEARCH
Authors:
이원석(WonSuk Lee), Samsung Electronics Co., Ltd.
Felix Sasaki, DFKI GmbH
Thomas Kurz, Salzburg Research Forschungsgesellschaft m.b.H.

Table of contents

1 Summary

This document reports the interoperability test results for multiple implementations of features of the API for Media Resources 1.0 specification and is maintained by the Media Annotations Working Group.

The purpose of the implementation report is to document that at least two independent implementers can independently read the same specification and produce two independent interoperable implementations for a given feature. This tests both the clarity of the specification, in that the specification language must be clear enough to sufficiently describe an interoperable implementation, as well as the implementability of the specification itself. This implementation test report is not meant to test conformance of any given API for Media Resources 1.0 implementation.

Implementations tested

2 Results of the implementation report

The Implementation results are publicly released and are intended solely to be used as a proof of API for Media Resources 1.0 specification implementability. It is only a snap shot of the actual implementation behaviors at one moment of time, as these implementations may not be immediately available to the public. The interoperability data is not intended to be used for assessing or grading the performance of any individual implementation. Any feedback on implementation and use of this specification would be very welcome. To the extent possible, please provide a separate email message for each distinct comment.

The test cases are devided into two groups: test cases independent of metadata formats (see Section 4.1) and test cases, that need format specific information to be conducted (see Section 4.2 & 4.3). In terms of the metadata format specific test cases, every property has to be listed in two instantiations (core attributes vs. specific attributes). Here, an implementation has to at least behave correct for the core properties (specific properties are optional).

Results are yes (passed), no (failed), not supported (not executed) or blank (not tested).

PASSED tests have fulfill the exit criteria of the API for Media Resources 1.0 CR version. Each test has at least two passing implementations which have been developed independently.

Comments on this document should be sent to public-media-annotation@w3.org. The archive of public comments is available at http://lists.w3.org/Archives/Public/public-media-annotation/.

3. Formats in scope

The following tables lists the formats that were selected as in-scope. We distinguish multimedia metadata formats that focus on the description of multimedia resources from multimedia container formats. In the case of the latter, only few technical properties are relevant, because of they widespread usage.

The API for Media Resources 1.0 specification defines a specific JSON response structure, to which a implementation has to be compliant. To enable an (automatic) evaluation, a normative JSON response for a example media resource for each metadata format has been created covering all properties defined in the corresponding mapping table. These files are available in Section 3.1 & 3.2.

Note: The example media resources have been taken from the in the Ontology for Media Resource 1.0 test suite.

3.1 Multimedia metadata formats in scope

Metadata format Example Normative JSON response
DIG35 DIG35 example
JSON
Dublin Core Dublin Core example
JSON
EBU Core EBU Core example
JSON
Exif 2.2 Exif 2.2 example
JSON
ID3 ID3 example
JSON
IPTC IPTC example
JSON
LOM 2.1 LOM 2.1 example
JSON
Media RSS Media RSS example
JSON
MPEG-7 MPEG-7 example
JSON
DMS-1 DMS-1 example
JSON
TTML TTML example
JSON
TV-Anytime TV-Anytime example
JSON
TXFeed TXFeed example
JSON
XMP XMP example
JSON
YouTube YouTube example
JSON

3.2 Multimedia container formats

Metadata format Example Normative JSON response
3gp 3GP example
JSON
f4v F4V example
JSON
flv FLV example
JSON
mp4 MP4 example
JSON
quicktime Quicktime example
JSON

4 General behaviour tests

For some of the general behaviour test cases no input data can be given. For this test cases, only a valid JSON response shall be produced.

test # Metadata format Coverage Implementation 1 Implementation 2 Implementation 3 Normative JSON response
G1 Format independent Implemented Mode Not tested passed passed Implemented Mode Response
G2 Format independent Not-existent property Not tested passed passed Not existant property Response
G3 Format independent Passing NULL value instead property array Not tested passed passed Passing NULL value instead property array Response
G4 Format independent Property array filled with duplicates Not tested passed passed Property array filled with duplicates Response
G5 Format independent Multiple metadata sources specified Not tested passed passed Multiple metadata sources specified Response
G6 Format independent No metadata source specified Not tested passed passed No metadata source specified Response
G7 Format independent Non-existent metadata source Not tested passed passed Non-existent metadata source Response

5 Test cases for specific metadata formats

5.1 Tests for DC format

test # Metadata format MA Property coverage Implementation 1 Implementation 2 Implementation 3 Normative JSON response
D1-a DC identifier core attributes passed not supported passed identifier core response
D1-b DC identifier specific attributes passed not supported passed identifier specific response
D2-a DC title core attributes passed not supported passed title core response
D2-b DC title specific attributes passed not supported passed title specific response
D3-a DC language core attributes passed not supported passed language core response
D3-b DC language specific attributes passed not supported passed language specific response
D4-a DC locator core attributes passed not supported passed No existing property mapped in DC
D4-b DC locator specific attributes passed not supported passed No existing property mapped in DC
D5-a DC contributor core attributes passed not supported passed contributor core response
D5-b DC contributor specific attributes passed not supported passed contributor specific response
D6-a DC creator core attributes passed not supported passed creator core response
D6-b DC creator specific attributes passed not supported passed creator specific response
D7-a DC date core attributes passed not supported passed date core response
D7-b DC date specific attributes passed not supported passed date specific response
D8-a DC location core attributes passed not supported passed location core response
D8-b DC location specific attributes failed not supported passed location specific response
D9-a DC description core attributes passed not supported passed description core response
D9-b DC description specific attributes passed not supported passed description specific response
D10-a DC keyword core attributes passed not supported passed keyword core response
D10-b DC keyword specific attributes passed not supported passed keyword specific response
D11-a DC genre core attributes passed not supported passed genre core response
D11-b DC genre specific attributes passed not supported passed genre specific response
D12-a DC rating core attributes passed not supported passed No existing property mapped in DC
D12-b DC rating specific attributes passed not supported passed No existing property mapped in DC
D13-a DC relation core attributes passed not supported passed relation core response
D13-b DC relation specific attributes passed not supported passed relation specific response
D14-a DC collection core attributes passed not supported passed collection core response
D14-b DC collection specific attributes passed not supported passed collection specific response
D15-a DC copyright core attributes passed not supported passed copyright core response
D15-b DC copyright specific attributes passed not supported passed copyright specific response
D16-a DC policy core attributes passed not supported passed No existing property mapped in DC
D16-b DC policy specific attributes passed not supported passed No existing property mapped in DC
D17-a DC publisher core attributes passed not supported passed publisher core response
D17-b DC publisher specific attributes passed not supported passed publisher specific response
D18-a DC targetAudience core attributes passed not supported passed No existing property mapped in DC
D18-b DC targetAudience specific attributes passed not supported passed No existing property mapped in DC
D19-a DC fragment core attributes passed not supported passed No existing property mapped in DC
D19-b DC fragment specific attributes passed not supported passed No existing property mapped in DC
D20-a DC namedFragment core attributes passed not supported passed No existing property mapped in DC
D20-b DC namedFragment specific attributes passed not supported passed No existing property mapped in DC
D21-a DC frameSize core attributes passed not supported passed No existing property mapped in DC
D21-b DC frameSize specific attributes passed not supported passed No existing property mapped in DC
D22-a DC compression core attributes passed not supported passed No existing property mapped in DC
D22-b DC compression specific attributes passed not supported passed No existing property mapped in DC
D23-a DC duration core attributes passed not supported passed No existing property mapped in DC
D23-b DC duration specific attributes passed not supported passed No existing property mapped in DC
D24-a DC format core attributes passed not supported passed format core response
D24-b DC format specific attributes passed not supported passed format specific response
D25-a DC samplingRate core attributes passed not supported passed No existing property mapped in DC
D25-b DC samplingRate specific attributes passed not supported passed No existing property mapped in DC
D26-a DC frameRate core attributes passed not supported passed No existing property mapped in DC
D26-b DC frameRate specific attributes passed not supported passed No existing property mapped in DC
D27-a DC averageBitRate core attributes passed not supported passed No existing property mapped in DC
D27-b DC averageBitRate specific attributes passed not supported passed No existing property mapped in DC
D28-a DC numTracks core attributes passed not supported passed No existing property mapped in DC
D28-b DC numTracks specific attributes passed not supported passed No existing property mapped in DC
test # Metadata format Function call Implementation 1 Implementation 2 Implementation 3 Normative JSON response
D29 DC getOriginalMetadata passed not supported passed getOriginalMetadata response

5.2 Tests for YouTube format

test # Metadata format MA Property coverage Implementation 1 Implementation 2 Implementation 3 Normative JSON response
Y1-a YouTube identifier core attributes passed passed not supported identifier core response
Y1-b YouTube identifier specific attributes passed passed not supported identifier specific response
Y2-a YouTube title core attributes passed passed not supported title core response
Y2-b YouTube title specific attributes passed passed not supported title specific response
Y3-a YouTube language core attributes passed passed not supported No existing property mapped in YouTube
Y3-b YouTube language specific attributes passed passed not supported No existing property mapped in YouTube
Y4-a YouTube locator core attributes passed passed not supported locator core response
Y4-b YouTube locator specific attributes passed passed not supported locator specific response
Y5-a YouTube contributor core attributes passed passed not supported No existing property mapped in YouTube
Y5-b YouTube contributor specific attributes passed passed not supported No existing property mapped in YouTube
Y6-a YouTube creator core attributes passed passed not supported No existing property mapped in YouTube
Y6-b YouTube creator specific attributes passed passed not supported No existing property mapped in YouTube
Y7-a YouTube date core attributes passed passed not supported date core response
Y7-b YouTube date specific attributes passed passed not supported date specific response
Y8-a YouTube location core attributes passed passed not supported location core response
Y8-b YouTube location specific attributes failed passed not supported location specific response
Y9-a YouTube description core attributes passed passed not supported description core response
Y9-b YouTube description specific attributes passed passed not supported description specific response
Y10-a YouTube keyword core attributes passed passed not supported keyword core response
Y10-b YouTube keyword specific attributes passed passed not supported keyword specific response
Y11-a YouTube genre core attributes passed passed not supported genre core response
Y11-b YouTube genre specific attributes passed passed not supported genre specific response
Y12-a YouTube rating core attributes passed passed not supported rating core response
Y12-b YouTube rating specific attributes failed passed not supported rating specific response
Y13-a YouTube relation core attributes passed passed not supported No existing property mapped in YouTube
Y13-b YouTube relation specific attributes passed passed not supported No existing property mapped in YouTube
Y14-a YouTube collection core attributes passed passed not supported No existing property mapped in YouTube
Y14-b YouTube collection specific attributes passed passed not supported No existing property mapped in YouTube
Y15-a YouTube copyright core attributes passed passed not supported No existing property mapped in YouTube
Y15-b YouTube copyright specific attributes passed passed not supported No existing property mapped in YouTube
Y16-a YouTube policy core attributes passed passed not supported No existing property mapped in YouTube
Y16-b YouTube policy specific attributes passed passed not supported No existing property mapped in YouTube
Y17-a YouTube publisher core attributes passed passed not supported publisher core response
Y17-b YouTube publisher specific attributes passed passed not supported publisher specific response
Y18-a YouTube targetAudience core attributes passed passed not supported targetAudience core response
Y18-b YouTube targetAudience specific attributes passed passed not supported targetAudience specific response
Y19-a YouTube fragment core attributes passed passed not supported No existing property mapped in YouTube
Y19-b YouTube fragment specific attributes passed passed not supported No existing property mapped in YouTube
Y20-a YouTube namedFragment core attributes passed passed not supported No existing property mapped in YouTube
Y20-b YouTube namedFragment specific attributes passed passed not supported No existing property mapped in YouTube
Y21-a YouTube frameSize core attributes passed passed not supported No existing property mapped in YouTube
Y21-b YouTube frameSize specific attributes passed passed not supported No existing property mapped in YouTube
Y22-a YouTube compression core attributes passed passed not supported compression core response
Y22-b YouTube compression specific attributes passed passed not supported compression specific response
Y23-a YouTube duration core attributes passed passed not supported duration core response
Y23-b YouTube duration specific attributes passed passed not supported duration specific response
Y24-a YouTube format core attributes passed passed not supported format core response
Y24-b YouTube format specific attributes passed passed not supported format specific response
Y25-a YouTube samplingRate core attributes passed passed not supported No existing property mapped in YouTube
Y25-b YouTube samplingRate specific attributes passed passed not supported No existing property mapped in YouTube
Y26-a YouTube frameRate core attributes passed passed not supported No existing property mapped in YouTube
Y26-b YouTube frameRate specific attributes passed passed not supported No existing property mapped in YouTube
Y27-a YouTube averageBitRate core attributes passed passed not supported No existing property mapped in YouTube
Y27-b YouTube averageBitRate specific attributes passed passed not supported No existing property mapped in YouTube
Y28-a YouTube numTracks core attributes passed passed not supported No existing property mapped in YouTube
Y28-b YouTube numTracks specific attributes passed passed not supported No existing property mapped in YouTube
test # Metadata format Function call Implementation 1 Implementation 2 Implementation 3 Normative JSON response
Y29 YouTube getOriginalMetadata passed passed not supported getOriginalMetadata response

A References

[3GP]
3GPP Specifications. Available for download at http://www.3gpp.org/specifications.
[DIG35]
DIG35 Specification - Metadata for Digital Image. April 2001. Available for download at http://www.bgbm.org/TDWG/acc/Documents/DIG35-v1.1WD-010416.pdf .
[DMS-1]
DMS-1 (SMPTE 380M-2004). April 2001. Available for download at http://www.smpte.org/standards .
[Dublin Core]
DCMI Metadata Terms. January 2008. Available for download at http://dublincore.org/documents/2008/01/14/dcmi-terms/ . The latest version of DCMI Metadata Terms is available at http://dublincore.org/documents/dcmi-terms/ .
[EBUCore]
EBUCore v.1.0. December 2008. Available for download at http://tech.ebu.ch/publications/tech3293.
[EXIF]
EXIF 2.2. Specification by JEITA, April 2002. Available for download at http://www.exif.org/Exif2-2.PDF .
[Flash]
Adobe Flash Video File Format Specification Version 10.1. 2010. Available for download at http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf.
[LOM]
Draft Standard for Learning Object Metadata. July 2002. Available for download at http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_Draft.pdf .
[ID3]
ID3 tag version 2.4.0. February 1999. Available for download at http://www.id3.org/Developer_Information .
[IPTC]
IPTC Standard Photo Metadata 2008. IPTC Core Specification Version 1.1, IPTC Extension Specification 1.0, Document Revision 2, June 2008. Available for download at http://www.iptc.org/std/photometadata/2008/specification/IPTC-PhotoMetadata-2008.pdf
[IPTC NewsML]
IPTC NewsML-G2. Available for download at http://www.iptc.org/cms/site/ .
[METS]
Metadata Encoding & Transmission Standard 1.7. Available for download at http://www.loc.gov/standards/mets/ .
[Media RDF]
Media RDF. Available for download at http://digitalbazaar.com/.
[Media RSS]
Yahoo! Media RSS Module - RSS 2.0 Module. March 2008. Available for download at http://video.search.yahoo.com/mrss .
[MP4]
ISO/IEC 14496-14 MP4 file format. date 2003. Available for download at http://www.iso.org/iso/catalogue_detail.htm?csnumber=38538.
[MPEG-7]
Information technology Multimedia content description interface Part 10: Schema definition. Available for download at http://www.chiariglione.org/mpeg/working_documents/mpeg-07/schema_def/cd.zip.
[OWL2 Profiles]
OWL 2 Web Ontology Language Profiles. W3C OWL Working Group. Available for download at http://www.w3.org/TR/owl2-profiles/.
[RDF]
Resource Description Framework (RDF). W3C RDF Working Group. Available for download at http://www.w3.org/RDF/ .
[SMPTE]
SMPTE Metadata. Available for download at http://www.smpte-ra.org/mdd/RP210v11-pub-20080415.2048.xls .
[TTML]
Glenn Adams. Timed Text Markup Language (TTML) 1.0. W3C Recommendation 18 November 2010. Available for download at http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/.
[TXFeed]
TXFeed standard 0.9. December 2007. Available for download at http://clearerchannel.org/docs/tx_metadata_standard_0_9.pdf .
[TV-Anytime]
ETSI 102 822-3-1 V1.4.1. November 2007. 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 .
[XML Schema 2]
Biron, P. V. and A. Malhotra. XML Schema Part 2: Datatypes Second Edition. W3C Recommendation, October 2004. Available for download at http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/ . The latest version of XML Schema Part 2 is available for download at http://www.w3.org/TR/xmlschema-2/ .
[XMP]
XMP Specification Part 1 - Standard Schemas. Adobe, 2010. Available for download at http://www.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart1.pdf.
XMP Specification Part 2 - Standard Schemas. Adobe, 2010. Available for download at http://www.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart2.pdf.
[YouTube Data API Protocol]
YouTube Data API Protocol. April 2008. Available for download at http://code.google.com/intl/en/apis/youtube/2.0/reference.html .