Buffering and delay in video compression

Click For Summary

Discussion Overview

The discussion revolves around the relationship between buffering and delay in video compression, focusing on the mechanics of encoder and decoder buffers, the necessary preloading to prevent buffer empties, and the estimation of delays due to buffering. Participants explore theoretical and practical aspects of buffer sizes, transmission rates, and the implications of the Leaky Bucket Model in this context.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants inquire about the relationship between the encoder and decoder buffers, questioning how the fullness of one affects the other.
  • There are questions regarding the minimum preloading required to ensure that the buffer does not empty during the simulation.
  • Participants seek methods to estimate the delay caused by buffering and the minimum buffer size needed to continuously feed frames.
  • One participant proposes using the Leaky Bucket Model to analyze buffer delays and suggests that the initial buffer delay can be calculated using the formula F/R, where R is the peak transmission bit rate and F is the initial decoder buffer fullness.
  • There is a discussion on how to determine the suitable transmission rate to minimize end-to-end delay, with some suggesting that it may depend on the mean bit rate of the compressed video.
  • Confusion exists regarding whether the minimum buffer size can be determined graphically or through a specific formula, indicating a lack of clarity in available references.
  • One participant posits that the encoder buffer fullness serves as an upper bound for the decoder buffer fullness, raising questions about the dynamics of buffer management over time intervals.

Areas of Agreement / Disagreement

Participants express various viewpoints on the relationship between encoder and decoder buffers, the calculation of transmission rates, and the determination of minimum buffer sizes. No consensus is reached, and multiple competing views remain on these topics.

Contextual Notes

Limitations include potential dependencies on specific definitions of buffer sizes and transmission rates, as well as unresolved mathematical steps in determining the minimum buffer size and suitable transmission rates.

Wlmy97
Messages
3
Reaction score
0
Homework Statement
When video data is compressed efficiently, there is a variable data rate generated for each video frame; the encoder will generate E(i) bytes to represent frame i, but we might be using a constant transmission rate that transfers T(i)=T bytes each video frame time. A buffer will be needed to allow these two processes to work together.

Similarly, at the decoder, E(i) bytes will be needed to reconstruct frame i and this many bytes will be read out of a buffer that is filled at a constant T bytes/frame.

In this project, you will use data about bit rates generated for sample video sequences to investigate how much buffering is required in the delivery chain for encoder and decoder, and therefore what unavoidable end-to-end delay is involved (no matter how fast the processors are that are doing the encoding and decoding).

By using “frame trace” data (that is, a record of how many bytes are generated for each frame in a compressed video sequence) and recognising that the frames are both generated at the encoder and consumed at the decoder at fixed time intervals, you can simulate the buffers necessary at either end of a transmission link using Matlab or Excel.

These buffers will allow for variable rates to be generated/consumed, even though a constant rate might be transmitted over the network connection. If the buffers are ever allowed to empty, your decoder will be fed blank data; to make sure this doesn’t happen, your simulation should allow them to partly fill before you read anything. out of them.

How will you decide on the bit rate that you simulate between encoder and decoder? How big do the buffers need to be? What delay is involved? Suitable frame trace data is available on the web (see http://www-tkn.ee.tu- berlin.de/research/trace/trace.html, or you may find an alternative source you prefer).
Relevant Equations
Transmission rate = Channel bandwidth
1) What is the relationship between buffer at encoder and buffer at decoder?

2) How much preloading is necessary to ensure no buffer empties over the length of the simulation I.e. what is the minimum no. of bytes that must be in the buffer?

3)How to estimate delay due to buffering?

4) What is the minimum buffer size that could feed a frame at every time instance?

5) How big must the buffer be? Why?

6) How do you determine the transmission rate between the encoder and decoder?
 

Attachments

Physics news on Phys.org
Welcome to the PF. :smile:

You need to show your best efforts to start answering the questions before we can be of tutorial help. That's in the PF rules.

Also, we would prefer that you post a PDF version of your Excel file, since opening Excel files from a random source is a security risk. You can use a free PDF writer like PrimoPDF to print your Excel pages to a PDF file.

(Fun problem, BTW) :smile:
 
This is the Excel file used to simulate the buffers necessary at either end of a transmission link (which I've converted to pdf)
 

Attachments

Using the Leaky Bucket Model,
Start-up or initial buffer delay = F/R
where R is the peak transmission bit rate
is B the buffer size
is F the initial decoder buffer fullness

I know that for a constant transmission rate:
1. The leaky bucket drains its accumulated bits into the communication channel at a fixed bit rate , and the encoder must add enough bits to the leaky bucket often enough so that the leaky bucket does not underflow (i.e., become empty) in any interval of time
2. The encoder must not add too many bits to the leaky bucket too frequently, or else the leaky bucket, which has capacity B, will overflow

Questions
1. How to determine the suitable transmission rate to obtain minimum end-to-end delay caused by buffering (transmission delay is assumed to be 0), and maybe to avoid the buffers to empty? Isn't the transmission rate dependent on the bandwidth of each user in reality? I thought about using the Transmission rate = Mean bit rate of the compressed video but I'm not sure.
2. How to determine the minimum buffer size? Is the solution a graphical one or is there a formula to obtain the minimum buffer size? Cause I've looked up a lot of references and am quite confused by what I read.
3. As for the relationship between the buffer at the encoder and the decoder at the same frame time, the encoder buffer fullness is an upper bound on the fullness of the decoder buffer? Cause can in any time interval of length B/R , at most B bits can enter the decoder buffer.

Help needed urgently. Thank you.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 5 ·
Replies
5
Views
5K
  • · Replies 6 ·
Replies
6
Views
4K
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
10
Views
4K
  • · Replies 15 ·
Replies
15
Views
4K
  • Sticky
  • · Replies 13 ·
Replies
13
Views
8K