Home >> Media Group >> Research >> ViPER
Downloads -- Documentation -- Developers -- Discussion
LAMP     The Language and Media Processing Laboratory

ViPER: Video Ground Truth Format: Basic Datatypes Schema

This page hosts the XML Schema definitions for the core attribute data types editors and evaluators that use the ViPER video annotation file format should understand. The schema document describes the types, which rely on the standard XML Schema types. The structure of the file format is described in the viper structure schema.

The Schema

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	    targetNamespace="http://lamp.cfar.umd.edu/viperdata"
	    xmlns:viperdata="http://lamp.cfar.umd.edu/viperdata"
	    xmlns:viper="http://lamp.cfar.umd.edu/viper"
	    elementFormDefault="qualified">

    <xsd:annotation>
        <xsd:documentation xml:lang="en">
        This is the schema for ViPER XML format.
        It is currently at the prototype stage.
        See also viperdata.xsd.
        </xsd:documentation>
    </xsd:annotation>

    <xsd:import namespace="http://lamp.cfar.umd.edu/viper"
		schemaLocation="file:viper.xsd" />

    <xsd:element name="null" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData"/>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="bbox" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="x" type="xsd:integer"/>
                    <xsd:attribute name="y" type="xsd:integer"/>
                    <xsd:attribute name="width" type="xsd:integer"/>
                    <xsd:attribute name="height" type="xsd:integer"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="obox" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="x" type="xsd:integer"/>
                    <xsd:attribute name="y" type="xsd:integer"/>
                    <xsd:attribute name="width" type="xsd:integer"/>
                    <xsd:attribute name="height" type="xsd:integer"/>
                    <xsd:attribute name="rotation" type="xsd:integer"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="svalue" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="value" type="xsd:string"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="lvalue" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="value" type="xsd:Name"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="lvalue-possibles">
        <xsd:complexType>
            <xsd:sequence>
		<xsd:element name="lvalue-enum" minOccurs="1" maxOccurs="unbounded">
		    <xsd:complexType>
			<xsd:attribute name="value" type="xsd:Name"/>
		    </xsd:complexType>
		</xsd:element>
	    </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="relation" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="value">
			<xsd:simpleType>
			    <xsd:list itemType="xsd:nonNegativeInteger"/>
			</xsd:simpleType>
		    </xsd:attribute>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="relation-reference" type="xsd:Name"/>

    <xsd:element name="dvalue" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="value" type="xsd:integer"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="fvalue" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="value" type="xsd:decimal"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="bvalue" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="value" type="xsd:boolean"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="circle" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="x" type="xsd:integer"/>
                    <xsd:attribute name="y" type="xsd:integer"/>
                    <xsd:attribute name="radius" type="xsd:integer"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="point" substitutionGroup="viper:null">
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="viper:descriptorAttributeData">
                    <xsd:attribute name="x" type="xsd:integer"/>
                    <xsd:attribute name="y" type="xsd:integer"/>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>