One embodiment of the present invention provides a method that facilitates
compression of video data in a computer system by performing the
time-consuming task of computing the difference between successive frames
of video data independently from the central processing unit. This frees
the often-overburdened central processing unit from performing this
time-consuming compression operation and can thereby improve the handling
of video data. Thus, one embodiment of the present invention can be
characterized as a method for compressing video data in a computer
system. This method includes receiving a stream of data from a current
video frame in the computer system. It also includes computing a
difference frame from the current video frame and a previous video frame
"on-the-fly" as the current video frame streams into the computer system.
The method additionally includes storing the difference frame in a memory
in the computer system.