Re: 28.8 and 0 frames per/sec?

M. Carleer (mcarleer@ulb.ac.be)
Wed, 28 Jun 1995 14:48:12 +0100


>On Mon, 26 Jun 1995 someone (?) wrote:
>
>> Hi all I have gotten varying accounts now of video frame rate. I run 28.8
baud modem on PPP account 486-66 8 meg ram ,ver .65B1. A few people say 0
frames per second is to be expected with a 28.8 line. BUT then others say
they get 1-3 with 14.4 baud line! Still others say they are getting poor
audio on 28.8 lines. WHAT GIVES??
>>
>>
>
>

The frame rate (fps) and the transmission bit rate (kbps) in CUSeeMe are not
connected together. Here is how CUSeeMe works, as far as I understand the
compression and transmission algorithms:

The picture is divided in square blocks of 8 x 8 pixels (300 squares for
one 160 x 120 pixels resolution picture, figure out how much for 320 x 240).
To each of these blocks is attached a randomly generated number acting as an
aging property. When a picture is scanned, the aging number of each block is
decremented and when it comes to zero, it is decided that the block is too
old and must be refreshed (transmitted on the net). In addition, even if the
block is not old enough, an additional test is performed to see if the block
is very different from it's value on the preceeding picture. If it is more
different than a certain threshold, the block is transmitted. Each block to
be transmitted is then compressed using a compression algorithm devised by
the people at Cornell. Once a complete picture has been scanned, you get a
list of a certain number of compressed blocks to be sent to the net. This
info is sent in packets of roughly 1024 bytes. The last packet, and only the
last, ends with a special command telling the receiver that the picture has
to be redrawn on screen, with the newly transmitted parts of the picture
decompressed and mixed appropriately in the previously received one. The fps
value is the number of time per sec that this command is received (or sent
on the local window). It must also be said that CUSeeMe adapts the number of
frames that are grabbed (and hence the number of times per sec the above
process is performed), on the basis of the max kbps asked, in order to keep
the number of transmitted packets more or less constant.

Several different situations may arise, which will define the fps and kbps
values. Let's look at two extremes:
- The picture is only changing very slowly, or not changing at all. Then,
each time a new frame is grabbed, only a small number of squares must be
transmitted. At the limit, only one square. So, CUSeeMe will transmit single
small packets. But each packet will be terminated by a command to redraw.
The result will be a low kbps value with a high fps value.
- On the contrary, the picture is wildly changing with time. The number of
squares to be transmitted per grabbed frame will be high, resulting in a
large number of grouped packets with only one redraw command at the end.
Result: a high kbps value with a low fps.

Hope this helps,
Michel
----------------------------------------------------------------------------
Michel Carleer

Laboratoire de Chimie Physique Moleculaire Phone : +32-2-650.24.25
Universite Libre de Bruxelles CPi-160/09 Fax : +32-2-650.42.32
50 Av F.D. Roosevelt e-mail: mcarleer@ulb.ac.be
B-1050 Bruxelles
----------------------------------------------------------------------------