# Exam Question - end-to-end delay from video capture to video playout

Hi I'm preparing for my exam tomorrow and I've come across a 17 Mark question which seems trivially easy, so I think I'm missing a key point giving the rest of this exam is fairly difficult. The question is below and my attempt is below that.

Question

The frame sizes are below:

My attempt:

I looked up video capture on wikipedia and it defined it as the process of converting an analog signal to digital - so I took the point at which frames were captured as being after they were digitised. We are told to ignore the time taken for compression and decompression, so the next part is just to send the data. The total amount of data in the frame sequence is 54KB (I'm not sure why the frame sequence starts and ends with an I-frame to be honest - doesn't seem to make sense). So to transfer 1s of video will take 0.27s.

To be play a second of frames smoothly the the playout buffer must contain 25 frames minimum. The sequence of frames is IBBPBBI which has a total size of 54 KB. In one second the playout is 54 x 25 = 0.432 MB/s.

I'm pretty sure that we would need to make some estimations to solve the rest of this.

As always I'm open to any suggestions! Thanks for reading :D

• Sounds like you've got all the numbers you need. May 28 '12 at 12:59
• Why would you multiply 54 by 25? IBBPBBI is 7 frames isn't it? May 28 '12 at 13:42

You can't start playing any B frame until the next following I or P frame has been scanned, compressed, transmitted, received, and decompressed.

The total delay is directly related to minimum delay that needs processing at encoder and decoder before which the first frame is ready to render at the receiver.

The process of the transmission and decoding will happen as follows: The IBBPBBI with index (0,1,2,3,4,5,6) will be compressed and transmitted in the patterns - as IPBBIBB (0,3,1,2,6,4,5). Given this respective pictures needs to get acquired first and at the same time needs to get decoded first before the first frame can be rendered before.

Total elements in the system delay

1. Capturing delay ~ they have said assume zero.

2. Encoding delay (time to compress actually zero, but encoder needs to buffer frames before producing output).

Since the two B pictures (pic 1,2) needs to wait before the P picture (pic 3) is available from capture and needs to get encoded before. Hence the delay introduced is - 3 / fps = 3 * 40 ms = 120 ms.

3. Latency of transmission.

4. Minimum data needs to be buffered till which the decoding can start

In this case pictures I,P, and start of the First bytes B frames needs to be read and decoded by the receiver and decoder. Total number of bytes that must be submitted to decoder before first ever picture will come out
= (18k + 6k)*8 / 1600k
= 120 ms.
NOTE: there is an catch here, there is usually audio and other metadata transmitted along with video in the same way, in that case, the figure 1600k should be reduced to effective available video bandwidth.

5. Decompression and rendering time (assumed zero here).

Hence from the key elements, we have total end-to-end delay = 120 ms + 120ms = 240 ms.

But all this is too idealistic. In general, there is always and appreciable jitter in the transmission. There is always some amount of buffering done by the receiver (before giving away to decoder) to minimize the situations of underflow and overflow.

Second important point is that it is never really possible that all I frames have same size, though in above case, you can take that as a max frame size as above.