Figure 1: Cloud computing is often thought as an ideal solution to enable complex algorithms on mobile devices; by exploiting remote resources, one expects to reduce running time and energy consumption. However, this ignores the cost of transferring data over the network, the overhead of which often negates the benefits of the cloud, especially for data-heavy image processing applications. We introduce a new image processing pipeline that reduces the amount of transmitted data. The core of our approach is the transform recipe, a representation of the image transformation applied to a photograph that is compact and can be accurately estimated from an aggressively compressed input photograph. These properties make cloud computing more efficient in situations where transferring standard JPEG-compressed images would be too costly in terms of energy and/or time. In the example above, where we used an aggressive setting, our approach reduces the amount of transmitted data up to 80× compared to standard JPEG compressed images. It produces an output visually similar to the ground-truth result computed directly from the original uncompressed photograph. Photograph from the MIT 5k dataset [2011].
AbstractCloud image processing is often proposed as a solution to the limited computing power and battery life of mobile devices: it allows complex algorithms to run on powerful servers with virtually unlimited energy supply. Unfortunately, this overlooks the time and energy cost of uploading the input and downloading the output images. When transfer overhead is accounted for, processing images on a remote server becomes less attractive and many applications do not benefit from cloud offloading. We aim to change this in the case of image enhancements that preserve the overall content of an image. Our key insight is that, in this case, the server can compute and transmit a description of the transformation from input to output, which we call a transform recipe. At equivalent quality, our recipes are much more compact than JPEG images: this reduces the client's download. Furthermore, recipes can be computed from highly compressed inputs which significantly reduces the data uploaded to the server. The client reconstructs a high-fidelity approximation of the output by applying the recipe to its local high-quality input. We demonstrate our results on 168 images and 10 image processing applications, showing that our recipes form a compact representation for a diverse set of image filters. With an equivalent transmission budget, they provide higher-quality results than JPEG-compressed input/output images, with a gain of the order of 10 dB in many cases. We demonstrate the utility of recipes on a mobile phone by profiling the energy consumption and latency for both local and cloud computation: a transform recipe-based pipeline runs 2-4× faster and uses 2-7× less energy than local or naive cloud computation.