As was mentioned in the chapter introduction, the quality and size of the video transfer was not given priority. No standardized compression scheme was implemented. The following steps were taken to somewhat reduce the bandwidth requirements:
Ten times a second, the grabber program gets a frame from an IndyCam connected to a Silicon Graphics Indy, aided by the Video Library [79] shipped with the computer. As described above, the frame is analyzed for changed blocks, and chosen blocks are sent across the network, packed in UDP datagrams of at most 1400 bytes. Since some blocks may never or seldom change, every block that has not been sent in 5 seconds are resent, even if no change is measured. This is to make sure every viewer shows the entire picture.
The bandwidth requirements depends on the dynamics of the scene
grabbed, and the sensibility of the camera. The worst case occurs when
all blocks need to be resent ten times a second: A block occupies 35
bytes, including position within the image, and a block identifier. An
image contains 20 15 blocks, giving a total of 10500 bytes for a
single frame. Ten frames per second thus requires a 0.8 Mbps line, not
including overhead introduced by network packet
encapsulation. According to figure 3.4 on
page
, neither analog modems nor ISDN, the
two most likely connection types for home users, can cope with
this. No negotiation of data transfer rate is implemented, the sender
simply assumes that the network connection is capable of delivering
the packets at the rate they are sent. Trying to send packets across a
slow link, may fill the operating system's send queue, and temporarily
stop the sending application.