The objective of this page is to provide a description of the different components and processes that are responsible for the timing accuracy of Tobii Eye trackers.
Tobii Eye Trackers are an advanced version of the traditional Pupil Centre Corneal Reflection (PCCR) remote eye tracking technology. Near infrared illumination is used to create reflection patterns on the cornea and pupils of the eye of a user. An image sensor then captures images of the eyes and respective reflection patterns, and sends them to the eye tracker firmware ‐ TET Server (or Tobii Eye Tracking server). The position of the eye and the point of gaze are then derived with high accuracy from image processing algorithms and a mathematical model of the eye. The TET Server also time stamps each image when it arrives to the server using a time function dll – TTime.dll. This function extracts timing information from a high resolution counter located on the computer or eye tracker processor. The TET Server then recalculates this timestamp in order to show the time when the image was captured by the sensor.
In the ‐50 Series, X2-60 and X3 eye trackers the TET Server is installed and run from an external computer that communicates with the eye tracker through USB and Firewire connections. The images from the sensor are sent through the connection to the computer. The images are processed into gaze data in the TET Server on the external computer. The TET Server is then accessed by other applications (e.g. Tobii Studio Software) that extract and record the raw gaze data. These applications can either run on the same or a different computer than the TET Server. The method chosen for producing the timestamps for the gaze data is to use the processor high resolution counter located on the processor of the computer where the TET Server is installed, together with QueryPerformanceCounter and QueryPerformanceFrequency functions.
In the T/X Series and X2-30 eye trackers the TET Server runs on a computer integrated in the eye tracker hardware. As a result the images from the sensor are processed in the eye tracker and the resulting gaze data is then sent to the network via a TCP/IP Lan or USB connection. This setup allows a simpler and more efficient integration between the eye tracker and external applications such as the Tobii Studio Analysis Software. Since the TET server runs on a dedicated separate computer it reduces the impact of high processor load on image processing and gaze data computation. In real‐time applications latency is one of the key aspects, as the interaction between the application and the eye tracker is dependent on how fast the gaze data is delivered to the application. For example, in gaze‐contingency research paradigms and eye based interaction applications, the test procedure often requires that the test participant gazes at a certain area of the screen for a specific time, in order for it to trigger a response. However when it comes to post‐recording analysis the eye tracker sensor data rate, the time stamping process of the gaze data and its synchronization with the application used to present and record the stimulus, are crucial to ensure good timing information in the data used in the analysis (for example slide show and web studies).
The latency of an eye tracker corresponds to the interval measured from the time when an image is captured by the sensor (mid exposure) to when gaze data is outputted by the the TET Server to the network or to an eye tracking application (e.g. Tobii Pro Studio). This delay is the sum of the time taken for camera exposure, transfer, calculation and delays in the system (eye tracker processor, network and the data recording computer).
There are two types of latencies reported in the Tobii eye tracker specifications: "processing latency" and "total system latency". The total system latency is defined as the duration from mid-point of the eye image exposure, to when a sample is available via the API on the client computer. This includes half of the image exposure time plus image read-out and transfer time, processing time and time to transfer the data sample to a client computer.
Processing latency describes the time required by the eye tracker processor to perform image processing and eye gaze computations. This time should not exceed the sampling interval time of the eye tracker.
The position of the eye is estimated based on an image taken by the sensor. The sensor is set to a fixed exposure time and the timestamp for each gaze data is set to indicate the middle of exposure time. This mid exposure time is the best theoretical estimation of when the image was taken. The TET Server calculates the timestamp of each gaze point by taking the time of image arrival at the server (in Server Time) and subtracting it to a known latency value that translates the time it takes for the sensor to capture the image (mid exposure value) and send it to the server. This latency is calculated according to the specifications of the sensor supplier (latency of image delivery algorithm).