Factoring a mobile client's effective processing speed into the image transcoding decision
Abstract
An image transcoding proxy decides whether to transcode an image fetched from the Web based either on the criterion of reducing the overall response time (store-and-forward proxies), or the criterion of avoiding buffer overflow (streamed proxies). In this paper, we introduce a new parameter, namely a mobile client's effective processing speed, into the analytical formulation of both transcoding decisions, and study the practical importance of this parameter when transcoding is applied for standard PDA clients. CPU-intensive operations like image decompression, colorspace conversion and scaling can together add excessive delay to the perceived response time when performed on a mobile client that has severely limited processing capability. Under certain conditions, a transcoding proxy that sends GIF or JPEG images can incur greater delay due to decompression on a PDA client than a better informed transcoding proxy that chooses instead to send bit-mapped equivalents that incur little to no client-side decoding delay. We designed three experiments that partitioned image processing functions between a proxy and a standard PDA in order to assess the importance of a client's CPU limitations on the image transcoding decision. First, images were fetched by a standard Web browser that decompressed GIF's on the PDA. This browser also enforced scaling on every image to fit within the PDA's small screen. Second, we added a transcoding proxy that pre-scaled images, thereby bypassing the browser's scaling function but still requiring the browser to decompress the scaled GIF's. Third, we migrated both scaling and decompression off of the PDA on to the proxy. The proxy pre-scaled as before, and also transcoded GIF's to grayscale bitmaps that required no client-side decompression. We measured response times from each of these three experiments and quantified how much improvement in response time can be achieved when a proxy assists a CPU-limited PDA by performing some or all CPU-intensive image processing tasks on the transcoding proxy.