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.