Lossless video data compression is performed in real time at the data rate
of incoming real time video data in a process employing a minimum number
of computational steps for each video pixel. A first step is to convert
each pixel 8-bit byte to a difference byte representing the difference
between the pixel and its immediate predecessor in a serialized stream of
the pixel bytes. Thus, each 8-bit pixel byte is subtracted from its
predecessor. This step reduces the dynamic range of the data. A next step
is to discard any carry bits generated in the subtraction process of
two's complement arithmetic. This reduces the data by a factor of two.
Finally, the 8-bit difference pixel bytes thus produced are subject to a
maximum entropy encoding process. Such a maximum entropy encoding process
may be referred to as a minimum length encoding process. One example is
Huffman encoding. In such an encoding process, a code table for the
entire video frame is constructed, in which a set of minimum length
symbols are correlated to the set of difference pixel bytes comprising
the video frame, the more frequently occurring bytes being assigned to
the shorter minimum length symbols. This code table is then employed to
convert the all of the difference pixel bytes of the entire video frame
to minimum length symbols.