Apparatus and method for rapid interactive viewing of a digital image over
a network. A client computer displays a view of an image. The image is
originally resident on a server computer. The client computer maintains a
cache, initially empty, of image blocks already obtained from the server.
When the client computer is asked to render a view of a particular
portion of the image at a particular resolution, it first ascertains if
any image blocks in the image-block cache intersect the requested view.
It then computes the residual area of the view resulting from subtracting
out from the view the intersecting portions of cached image blocks, and,
if the residual area is positive, downloads from the server computer a
set of image blocks comprising the residual portion of the view at the
given resolution.