{
	"$schema": "http://json-schema.org/draft-07/schema",
	"$id": "https://dash-large-files.akamaized.net/WAVE/3GPP/Beyond2D/ReferenceSequences/B2DPC-schema.json",
	"type": "object",
	"title": "The root schema",
	"description": "Schema for beyond 2D point cloud sequences.",
	"default": {},
	"required": [
		"Sequence",
		"Properties",
		"CopyRight",
		"Contact"
	],
	"properties": {
		"Sequence": {
			"$id": "#/properties/Sequence",
			"type": "object",
			"title": "Schema for the Sequence",
			"description": "Includes all information about the sequence",
			"default": {},
			"required": [
				"Name",
				"Scenario",
				"Key"
			],
			"properties": {
				"Name": {
					"$id": "#/properties/Sequence/properties/Name",
					"type": "string",
					"title": "The Name schema",
					"description": "Provides a unique name of the sequence."
				},
				"Background": {
					"$id": "#/properties/Sequence/properties/Background",
					"type": "string",
					"title": "The Background schema",
					"description": "Provides a background information on the sequence."
				},
				"Scenario": {
					"$id": "#/properties/Sequence/properties/Scenario",
					"type": "string",
					"title": "The Scenario schema",
					"description": "Provides information to which Scenario this sequence relates."
				},
				"Key": {
					"$id": "#/properties/Sequence/properties/Key",
					"type": "string",
					"title": "The Key schema",
					"description": "Provides the key used in TR 26.956.",
					"examples": [
						"S41"
					]
				},
				"TR26.956": {
					"$id": "#/properties/Sequence/properties/TR26.956",
					"type": "string",
					"title": "The TR26.956 schema",
					"description": "Provides the reference to TR26.956 used.",
					"examples": [
						"S41"
					]
				}
			},
			"additionalProperties": true
		},
		"Properties": {
			"$id": "#/properties/Properties",
			"type": "object",
			"title": "The Properties schema",
			"description": "the properties of the raw video.",
			"required": [
				"URI",
				"NameFormat",
				"frameCount",
				"startFrame",
				"frameRate",
				"geometryPrecision",
				"colorformat",
				"peak"
			],
			"properties": {
				"URI": {
					"$id": "#/properties/Properties/properties/URI",
					"type": "string",
					"title": "The URI schema",
					"description": "Provides a reference/URL to the sequence point cloud data."
				},
				"thumbnail": {
					"$id": "#/properties/Properties/properties/thumbnail",
					"type": "string",
					"title": "The thumbnail schema",
					"description": "Provides a reference/URL to a typical frame of the video."
				},
				"preview": {
					"$id": "#/properties/Properties/properties/preview",
					"type": "string",
					"title": "The preview schema",
					"description": "Provides a reference/URL to an mp4 encoded video."
				},
				"NameFormat": {
					"$id": "#/properties/Properties/properties/NameFormat",
					"type": "string",
					"title": "The NameFormat schema",
					"description": "Provides a name of the sequence to which a frame index is added.",
					"examples": [
						"exemple%04d.ply"
					]
				},
				"frameCount": {
					"$id": "#/properties/Properties/properties/frameCount",
					"type": "integer",
					"title": "The frameCount schema",
					"description": "The number of point cloud frames in the sequence.",
					"examples": [
						327
					]
				},
				"startFrame": {
					"$id": "#/properties/Properties/properties/startFrame",
					"type": "integer",
					"title": "The startFrame schema",
					"description": "The first frame in the sequence that is to be used starting from 1.",
					"default": 1,
					"examples": [
						1
					]
				},
				"frameRate": {
					"$id": "#/properties/Properties/properties/frameRate",
					"type": "integer",
					"title": "The frameRate schema",
					"description": "Framerate of the video.",
					"examples": [
						30
					]
				},
				"pointsCountMean": {
					"$id": "#/properties/Properties/properties/pointsCountMean",
					"type": "integer",
					"title": "The average of points number per frame schema",
					"description": "The average point number per frame.",
					"examples": [
						857241
					]
				},
				"geometryPrecision": {
					"$id": "#/properties/Properties/properties/geometryPrecision",
					"type": "integer",
					"title": "The geometry procision schema",
					"description": "geometry precision in bits of the point cloud sequence.",
					"default": "10",
					"examples": [
						10
					]
				},
				"colorformat": {
					"$id": "#/properties/Properties/properties/colorformat",
					"type": "string",
					"title": "The colorformat schema",
					"description": "Format of texture attribute",
					"default": "rgb",
					"enum": [
						"rgb",
						"yuv"
					],
					"examples": [
						"rgb"
					]
				},
				"peak": {
					"$id": "#/properties/Properties/properties/peak",
					"type": "integer",
					"title": "The peak schema",
					"description": "peak of the point cloud sequence.",
					"default": "1023",
					"enum": [
						1023,
						2047
					],
					"examples": [
						1023
					]
				},
				"duration": {
					"$id": "#/properties/Properties/properties/duration",
					"type": "number",
					"title": "The duration schema",
					"description": "Duration of the sequence in seconds.",
					"examples": [
						5.46
					]
				},
				"md5": {
					"$id": "#/properties/Properties/properties/md5",
					"type": "string",
					"title": "The md5 string",
					"items": {
						"description": "md5 of the zip files containing all point cloud frames.",
						"type": "string",
						"examples": [
							"d055a94f35f7594776186fc5d09a9fa4"
						]
					}
				},
				"size": {
					"$id": "#/properties/Properties/properties/size",
					"type": "integer",
					"title": "The size integer",
					"items": {
						"description": "Size in bytes of the zip file containing all point cloud frames.",
						"type": "integer",
						"examples": [
							149190147
						]
					}
				}
			},
			"additionalProperties": true
		},
		"CopyRight": {
			"$id": "#/properties/CopyRight",
			"type": "string",
			"title": "The CopyRight schema",
			"description": "Copyright statement."
		},
		"Contact": {
			"$id": "#/properties/Contact",
			"type": "object",
			"title": "The Contact schema",
			"description": "A contact for the sequence.",
			"required": [
				"Name"
			],
			"properties": {
				"Name": {
					"$id": "#/properties/Contact/properties/Name",
					"type": "string",
					"title": "The Name schema",
					"description": "The name of a person."
				},
				"Company": {
					"$id": "#/properties/Contact/properties/Company",
					"type": "string",
					"title": "The Company schema",
					"description": "Company."
				},
				"e-mail": {
					"$id": "#/properties/Contact/properties/e-mail",
					"type": "string",
					"title": "The e-mail schema",
					"description": "e-mail or web page link."
				},
				"generation": {
					"$id": "#/properties/Contact/properties/generation",
					"type": "string",
					"title": "The generation schema",
					"description": "Information on how the data was generated"
				}
			},
			"additionalProperties": true
		}
	},
	"additionalProperties": true
}