• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

Computer Engineering & Science ›› 2022, Vol. 44 ›› Issue (10): 1711-1720.

• High Performance Computing • Previous Articles     Next Articles

Implementation and optimization of image processing algorithms based on ARMv8 CPUs

WEI Cun-yang1,2,JIA Hai-peng1,ZHANG Yun-quan1,QU Guo-yuan3,WEI Da-zhou3,ZHANG Guang-ting1   

  1. (1.State Key Laboratory of Computer Architecture,Institute of Computing Technology,
    Chinese Academy of Sciences,Beijing 100190;
    2.University of Chinese Academy of Sciences,Beijing 100080;
    3.China Aeronautical Radio Electronics Research Institute,Shanghai 200241,China)
  • Received:2022-04-25 Revised:2022-05-25 Accepted:2022-10-25 Online:2022-10-25 Published:2022-10-28

Abstract: Color space conversion, image scaling, and image filtering are all common algorithms in the field of image processing, which are widely used in digital media, data communication, biomedicine, aerospace and other fields. Although there is an open source OpenCV library for the above algorithms on ARM processors, it lacks a high-performance image processing library with the same precision as Intel IPP library. Therefore, according to the computational memory access characteristics of the algorithms, the above algorithms are divided into three categories: data-independent algorithms, data sharing algorithms, and irregular memory access algorithms. An optimization method system for different types of algorithms on the ARMv8 computing platform is proposed, and finally a high-performance image processing algorithm library based on the ARMv8 computing platform is developed. Its accuracy is comparable to the Intel IPP library. In terms of performance, the application of a series of optimization methods such as algorithm optimization, memory access optimization, SIMD optimization, and assembly instruction optimization has greatly improved the image processing algorithm performance. The experimental results show that on the Huawei Kunpeng 920 computing platform, the performance of the CvtColor, Filter, and Resize modules are significantly improved compared to the OpenCV algorithm library.

Key words: ARMv8, color space conversions, image resizing, image filtering