[comp.protocols.tcp-ip] summary on transferring motion picture over IP

Zhen Li <lizhen@silver.ucs.indiana.edu> (02/06/91)

Since I posted inquiry about transferring video over IP I 
have received  more requests for  summary than answers to 
the question.  Following is  what I have got so far.  

Many thanks to those who provided helpful information.  I 
appreciate all of your help.  Thanks!

Jane

--------------------------------------------------------------------------

From: ckollars@east.sun.com (Chuck Kollars - Sun Technical Marketing - Boston)

I've seen experimental products that can handle about 1
4x5 inch 8-bit color image every 2 seconds.  The problem is
not the TCP/IP protocols per se, but the fact that they
"typically" run over network media that are one or two orders
of magnitude too slow for animated/video images.

Count up the number of pixels in one frame, multiply by the
number of bits behind each pixel, then compare to the 10 Mbits/sec
serial bit rate of Ethernet.  I think you'll find a major
mismatch.

--------------------------------------------------------------------------
Claudio Topolcic <topolcic@bbn.com>


        I don't have exactly the answer for you, but we routinely send
live video across a DARPA-sponsored network in support of video conferencing.
The network is called the Terrestrial Wideband Network, and we have multi-protoc
ol
routers that implement the ST protocol (formerly IEN 119, and now RFC 1190) as
well as IP. This is a connection oriented internet protocol intended to support
real-time applications such as voice and video. We use commercial video codecs
to compress the video down to about 128 Kbps

--------------------------------------------------------------------------
From: I.Wakeman@cs.ucl.ac.uk


in reply to your request about video over IP, a fair amount of work is currently
going on in this area, between UCL, BBN and others, using the ST protocol in
the ARPA Wideband Terrestial Network (SIGCOMM90 paper). Currently ST is running
separately from IP traffic, but real soon now, ST will be running over IP in
the BBN gateways, and in BSD socket code that Craig Partridge is writing. Other
work of interest is at UCB on DIstributed Continuous Media, David Anderson.
There's also been an RFC on time critical constraints on data networks -
something like 91 in the current series.The BSD people are interested in producing 
a UDP variant that can carry time critical data using time stamps.

...
anyway, two rfcs of interest are:
1193: client requirements for real-time communications services
1192 Experimental Internet Stream Protocol (ST 2)
THe work at UCB has at least 3 tech reports  on Meta-Scheduling,
UCB TR 90/597 Meta-scheduling for Distributed continuous media - Anderson
TR 90/596 Abstractions for Continuous media in a network window system
          Anderson, Govindan, Homsy
TR 90/599 Implementation Issues for a Network Continuous Media IO Server
                        as above.

These three deal with general issues for synchronous data over packet networks,
as do many, many other papers

Specific to IP, I don't know of any specific papers, other than experimental
efforts to put ST inside IP.

--------------------------------------------------------------------------

barmar@think.com (Barry Margolin) (02/07/91)

In article <1991Feb6.140207.25450@bronze.ucs.indiana.edu> Zhen Li <lizhen@silver.ucs.indiana.edu> writes:
>From: ckollars@east.sun.com (Chuck Kollars - Sun Technical Marketing - Boston)
>
>Count up the number of pixels in one frame, multiply by the
>number of bits behind each pixel, then compare to the 10 Mbits/sec
>serial bit rate of Ethernet.  I think you'll find a major
>mismatch.

Assuming 1k by 1k pixels per frame, 24 bits per pixel, 30 frames per
second, that's 720 Mbps, apparently about two orders of magnitude off
Ethernet speeds.  However, this is not really a fair comparison.  I think
it is safe to expect that a protocol for real-time digital video
transmission would use compression techniques.  I'm no expert in data
compression, but it seems like it should be possible to get very high
compression ratios for motion pictures.  First of all, within a frame you
can do quite well with techniques based on run-length encoding and/or
extrapolation.  And the differences between successive frames are generally
very small, so I would expect the protocol to only send the changes, rather
than entire frames.  And if the compression algorithm makes use of good
image processing techniques, it could even recognize shifts of the entire
background (very common, due to camera panning) and send a short encoding
to compensate for it, rather than sending all the pixel-by-pixel
differences.  Colors can be encoded in fewer bits, using color maps
(sending only the changes as they occur) and/or Huffman coding.

Of course, all this compression requires lots of compute power.  I'm not
sure it could currently be done in real time, so I don't think you could
put an Ethernet between a video camera and monitor.  However, if the goal
is to allow downloading from a server, this wouldn't be a problem.  The
video could be compressed in batch, and this compressed version would be
stored in the database and downloaded directly to the monitor.
Decompression is generally much easier than compression, so it can probably
be done in real time

There's a guy claiming to have developed technology to send videos over
voice-grade phone lines, which are several orders of magnitude slower than
Ethernet.  He must be using techniques like these, and more.


--
Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar