This document provides an explanation and measurements of the ‘end-to-end’ system latency for IndigoVision 8000 series products. A description of the method used to determine system latency is also included along with the results achieved.
A summary of these results is contained in the table below:
TCP Video Latency Streaming from 8000 Series Transmitter (ms) |
UDP Video Latency Streaming from 8000 Series Transmitter (ms) |
|||
Receiver |
Receiver |
|||
1M-1SIF PAL |
60 |
60 |
84 |
68 |
2M-2SIF PAL |
80 |
80 |
132 |
98 |
4M-4SIF PAL |
200 |
160 |
194 |
120 |
1M-1SIF NTSC |
96 |
94 |
70 |
74 |
2M-2SIF NTSC |
96 |
96 |
90 |
90 |
4M-4SIF NTSC |
166 |
154 |
134 |
94 |
High latency in an IP video system is undesirable, as typically it makes positioning and controlling Pan Tilt Zoom (PTZ) cameras more difficult.
The various sources of latency in such systems, however, often allow for an assortment of misleading metrics to be produced, such as ‘encode/decode time’ or ‘time to network.’
This document will instead describe a means for measuring ‘end-to-end’ system latency and present a series of gathered results.
Throughout this document, the term ‘System Latency’ is defined as meaning the time for an analog image at a camera source to be presented to a system user via either IndigoVision’s Control Center software or a monitor connected to an 8000 series receiver. More concisely, System Latency is the measurement of the time taken to capture, encode, transmit, decode and present a frame of video.
On a reliable 100Mbps network, the time taken to transmit even a 4SIF 4Mbps IFrame (of approximately 32KB in size) should be no more than a few milliseconds. The significant contributors to overall system latency are therefore capture, encode, decode and presentation time.
Additionally, two other sources of latency may be present in an 8000 series product: packet shaping and jitter buffering.
As of firmware release v2-13-1, packet shaping on an 8000 series transmitter can be enabled or disabled using the ‘Advanced Network Configuration’ web page. By default, packet shaping is turned off in order to minimize latency on the more common switched network infrastructure. This type of network infrastructure can cope easily with rapid transmission of packets.
When turned on, packet shaping throttles the rate at which video packets are transmitted from the unit. This prevents potential receive buffer overruns in a routed network infrastructure which would otherwise result in lost packets and poor video quality. This is at the expense of an overall increase in latency.
The packet-shaping algorithm present in the 8000 series can delay the delivery to network of a typical I-Frame by an additional 15-20ms. Although the magnitude of this increase may not seem particularly significant when considering just transmitters, it should be noted that the amount of network jitter (see below) between I and PFrames is also increased, thus enabling packet shaping also has an associated impact on the receiver side as well.
A Jitter buffer is implemented in receiver products to compensate for the variation in the arrival of the video packets, by intentionally delaying the presentation of video/audio. When a receiver first connects to a stream, the initial jitter buffer size is 40ms, but this figure is adjusted as each received video frame provides more information on network conditions. When measuring system latency, it is therefore important to give any recently connected receivers some time to tune themselves to the network and generate typical behaviour.
In order to measure system latency, it is necessary to instantaneously compare the analog output from a camera or pattern generator with the frame simultaneously being presented by the receiver technology. To quantify the latency, the analog source should comprise some form of clock providing resolution to 10 milliseconds. A digital snapshot can then be taken of the two images and the time difference (latency) calculated.
The set-up in Figure 1 below was used to measure system latency.
An analog camera was positioned to view a timer value generated by a hardware counter. The signal from this camera was connected via an amplifier to a monitor (analog Source) as well as an 8000 series unit (TX) running firmware version v2- 13-1 and configured to operate as a video transmitter with packet shaping disabled.
A second 8000 series unit (RX) was configured to run as a receiver with its analog output connected to an additional monitor (Transmitted).
The 8000 series units where networked along with a PC running Control Center (CC PC), using a 3Com, SuperStack 3 100Mbps, switch.
A second camera was positioned to view the analog and PC monitors. The output from this camera was transmitted using a third 8000 series device (Capture) to a further PC, also running Control Center, which was used to generate still image, snapshot captures.
After a change was made to the transmitted video stream, a period of 5 minutes was allowed to pass before any captures where made to give the receiver device time to adjust to network conditions.
The following subsections detail the results acquired from 5 captures of each tested video format/resolution. A captured image is also included for each section.
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
43.07 |
43.01 |
43.01 |
60 |
60 |
44.87 |
44.81 |
44.81 |
60 |
60 |
46.67 |
46.61 |
46.61 |
60 |
60 |
48.63 |
48.57 |
48.57 |
60 |
60 |
50.75 |
50.69 |
50.69 |
60 |
60 |
|
|
Avg. |
60 |
60 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
76.15 |
76.09 |
76.09 |
60 |
60 |
77.83 |
77.77 |
77.77 |
60 |
60 |
79.21 |
79.31 |
79.31 |
100 |
100 |
81.31 |
81.21 |
81.35 |
100 |
60 |
82.99 |
82.89 |
82.93 |
100 |
60 |
|
|
Avg. |
84 |
68 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
77.09 |
77.01 |
77.01 |
80 |
80 |
77.81 |
77.73 |
77.73 |
80 |
80 |
78.37 |
78.29 |
78.29 |
80 |
80 |
78.77 |
78.69 |
78.69 |
80 |
80 |
79.13 |
79.05 |
79.05 |
80 |
80 |
|
|
Avg. |
80 |
80 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
3.97 |
3.83 |
3.87 |
140 |
100 |
5.53 |
5.4 |
5.43 |
130 |
100 |
7.13 |
7 |
7.03 |
130 |
100 |
8.65 |
8.52 |
78.69 |
130 |
100 |
10.28 |
10.15 |
10.19 |
130 |
90 |
|
|
Avg. |
132 |
98 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
80.18 |
79.98 |
80.02 |
200 |
160 |
81.54 |
81.34 |
81.38 |
200 |
160 |
81.58 |
83.38 |
83.42 |
200 |
160 |
85.18 |
85.98 |
85.02 |
200 |
160 |
86.78 |
86.58 |
85.62 |
200 |
160 |
|
|
Avg. |
200 |
160 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
87.77 |
87.52 |
87.65 |
250 |
120 |
89.65 |
89.49 |
89.53 |
160 |
120 |
91.13 |
90.93 |
91.01 |
200 |
120 |
92.41 |
92.25 |
92.29 |
160 |
120 |
94.33 |
94.13 |
94.21 |
200 |
120 |
|
|
Avg. |
194 |
120 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
23.92 |
23.82 |
23.83 |
100 |
90 |
25.38 |
25.28 |
25.28 |
100 |
100 |
26.88 |
26.78 |
26.78 |
100 |
100 |
28.28 |
28.18 |
28.18 |
100 |
100 |
30.1 |
30.2 |
30.2 |
80 |
80 |
|
|
Avg. |
96 |
94 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
30.02 |
29.96 |
29.96 |
60 |
60 |
31.71 |
31.66 |
31.62 |
50 |
90 |
33.42 |
33.36 |
33.38 |
60 |
40 |
35.28 |
35.2 |
35.2 |
80 |
80 |
36.98 |
36.88 |
36.88 |
100 |
100 |
|
|
Avg. |
70 |
74 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
55.38 |
55.28 |
55.28 |
100 |
100 |
57.08 |
57.98 |
57.98 |
100 |
100 |
58.68 |
58.58 |
58.58 |
100 |
100 |
60.3 |
60.22 |
60.22 |
80 |
80 |
62.08 |
61.98 |
61.98 |
100 |
100 |
|
|
Avg. |
96 |
96 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
75.78 |
75.7 |
75.7 |
80 |
80 |
77.58 |
77.5 |
77.5 |
80 |
80 |
79.18 |
79.09 |
79.09 |
90 |
90 |
80.71 |
80.61 |
80.61 |
100 |
100 |
82.48 |
82.38 |
82.38 |
100 |
100 |
|
|
Avg. |
90 |
90 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
98.58 |
98.58 |
98.38 |
200 |
200 |
0.32 |
0.18 |
0.18 |
140 |
140 |
2.08 |
1.88 |
1.92 |
200 |
160 |
3.58 |
3.45 |
3.45 |
130 |
130 |
5.16 |
5 |
5.02 |
160 |
140 |
|
|
Avg. |
166 |
154 |
Source |
8000 Series |
Control Center |
8000 Series Diff (ms) |
Control Center Diff (ms) |
48.88 |
48.72 |
48.78 |
160 |
100 |
50.48 |
50.32 |
50.38 |
160 |
100 |
52.28 |
52.12 |
52.18 |
160 |
100 |
53.98 |
53.89 |
53.9 |
90 |
80 |
55.79 |
55.69 |
55.7 |
100 |
90 |
|
|
Avg. |
134 |
94 |
The above metrics show that UDP video streams have lower latency than the equivalent TCP streams. Where packet-shaping is used to reduce packet loss on routed networks, this will typically add a further 20-40ms of latency. The latency may further increase depending on the packet jitter characteristics of the network itself.
When considering the highest measurements taken for the 8000 series receiver, the maximum latency for 1M-1SIF, 2M-2SIF and 4M-4SIF is unlikely to exceed 100, 150 and 200ms respectively for PAL streams. The smaller frame size of NTSC has been shown to generate video streams with slightly less latency than a comparable PAL stream.
When compared to an 8000 series product, the faster decoding and rendering time of Control Center has been demonstrated to reduce latency by as much as 40ms for 4Mbps streams.