Vol.:(0123456789) 1 3 Journal of Real-Time Image Processing https://doi.org/10.1007/s11554-018-0833-5 SPECIAL ISSUE PAPER Real‑time rate distortion‑optimized image compression with region of interest on the ARM architecture for underwater robotics applications Eduardo M. Rubino 1  · Alberto J. Álvares 2  · Raúl Marín 1  · Pedro J. Sanz 1 Received: 1 November 2017 / Accepted: 27 September 2018 © Springer-Verlag GmbH Germany, part of Springer Nature 2018 Abstract This paper proposes the use of a real-time progressive image compression and region of interest algorithm for the ARM proces- sor architecture. This algorithm is used for the design of an underwater image sensor for an autonomous underwater vehicle for intervention, under a highly constrained available bandwidth scenario, allowing for a more agile data exchange between the vehicle and a human operator supervising the underwater intervention. For high compression ratios (smaller output size), execution time is dominated by the transformation algorithm, which plays a progressively smaller role as the compression ratio gets smaller (larger output size). A novel progressive rate distortion-optimized image compression algorithm based on the discrete wavelet transform (DWT) is presented, with special emphasis on a novel minimal time parallel DWT algorithm, which allows full memory bandwidth saturation using only a few cores of a modern multicore embedded processor. The paper focuses in a novel efcient inplace, multithreaded, and cache-friendly parallel 2-D wavelet transform algorithm, based on the lifting transform using the ARM Architecture. In order to maximize the cache utilization and consequently minimize the memory bus bandwidth use, the threads compete to work on a small memory area, maximizing the chances of fnding the data in the cache. Their synchronization is done with very low overhead, without the use of any locks and relying solely on the basic compare-and-swap atomic primitive. An implementation in C programming language with and without the use of vector instructions (single instruction multiple data) is provided for both, single (serial) and multi-(parallel) threaded single- loop DWT implementations, as well as serial and parallel naive implementations using linear (row order) and strided (column order) memory access patterns for comparison. Results show a signifcant improvement over the single-threaded optimized implementation and a much greater improvement over both, the single- and multi-threaded naive implementations, reaching minimal running time depending on the memory access pattern, the number of processor cores, and the available memory bus bandwidth, i.e., it becomes memory bound using the minimum number of memory accesses. Due to memory saturation, the inplace 2-D DWT transform can be executed in the same time as a 1-D DWT transform or as an inplace memory block copy. Keywords Progressive image compression · Region of interest (ROI) · Parallel wavelet transforms · Arm architecture · Underwater robotics applications 1 Introduction In the context of the MERBOTS research project, 1 a coor- dinated project funded by the Spanish government for the period 2015–2018 under grant DPI2014-57746-C3 [1], one of the objectives is to build a wireless communication sys- tem that can provide freedom of movements to the under- water robot and, at the same time, allow the operator to get feedback, supervise the intervention, and control the robot (Fig. 1), using as communication media a radio frequency * Alberto J. Álvares alvares@AlvaresTech.com Eduardo M. Rubino rubino@uji.es 1 Computer Science and Engineering Department, University Jaume-I, 12071 Castellón de la Plana, Spain 2 Department of Mechanical Engineering, University of Brasilia, Brasília 70060-900, Brazil 1 http://www.irs.uji.es/merbots.