VideOlympics 2009 Protocol Definition
For submission of search results all video retrieval systems must adhere to the
VideOlympics protocol definition. To register your shot selection, your system
needs to use a single HTTP GET call. Since almost any language supports HTTP GET
calls it shouldn't be too hard to extend your existing application to do this. If
your language does not natively support HTTP GET calls this can be done by manually
opening a TCP/IP connection and writing a minimal HTTP header with this call.
We provide an example client. This client is command-line based and can be called
directly from your application.
You should register your shot as soon as you've found it, not just-before the
end of the contest. In the interest of the contest it will not be possible to
un-register a shot later on, or re-order your submitted shots in a different
sequence. Once a shot is registered this is final. Note: registering the same
shot more than once will not produce an error. However, this is also not very
effective: each shot will be counted only once.
Call / Response
A shot registration submission has the following form:
http://<SERVER>/team=<TEAMNO>/shot<NR>_<NR>
where:
| <SERVER> | the server, which will typically be an IP adres with a port number, such as 10.0.0.99:8001 |
| <TEAMNO> | your team number, which will be given to you at the start of the contest. Make sure you can change this easily (e.g. by editing a configuration file). |
| shot<NR>_<NR> | the shot you want to bookmark, in the same notation as the TRECVID 2007 test set shot identifiers. For example shot112_34. The parser will stop after the last integer, so if you submit shot112_34_RKF this is not a problem. |
The response will be given in the body of the HTTP response. Parsing of the response
is not required, but can be helpfull for feedback on the selection. Listed below is a
series of possible responses.
| Response |
Description |
| OK |
Shot has been registered |
| ERROR INVALID |
Shot NR is unknown or you've specified an invalid URL |
| ERROR TOOSOON |
You've tried to register a shot but the contest has not yet started. |
| ERROR TOOLATE |
You've tried to register a shot after the contest ended. |
Example responses
In the examples below we assume that the server is running on
10.0.0.99 port
8001.
INPUT: http://10.0.0.99:8001/team=3/shot111_14
ANSWER: OK
MEANING: You are team 3 and bookmarked shot111_14
INPUT: http://10.0.0.99:8001/shot111_14
ANSWER: ERROR INVALID
MEANING: You forgot to submit your team number.
INPUT: http://10.0.0.99:8001/team=3/shot112_300
ANSWER: ERROR INVALID
MEANING: The shotnumber is invalid: it was not
in the TRECVID 2008 test set
Network topology
All clients will be connected through a 100Mbit dedicated Ethernet HUB used solely for
communicating with the VideOlympics contest server. The client should be self-contained.
An internet connection is not available.
Example client and server
For your convenience we have implemented a test client and a test server. Both are
written in Python.
Usage:
Start the server:
Use a client for team 3:
$ python ExampleClient.py shot111_72 3
OK
$ python ExampleClient.py shot112_272 3
ERROR INVALID
As you can see the testing server does know which shots are valid and which
are invalid.
As an alternative example for a client the command line tool wget can also be used. The example code below provides a perfectly valid client:
wget -q -O- http://localhost:8001/team=3/shot111_14
OK