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

计算机工程与科学 ›› 2022, Vol. 44 ›› Issue (10): 1711-1720.

• 高性能计算 • 上一篇    下一篇

基于ARMv8处理器的高性能图像处理算法实现与优化研究

韦存阳1,2,贾海鹏1,张云泉1,曲国远3,魏大洲3,张广婷1   

  1. (1.中国科学院计算技术研究所计算机体系结构国家重点实验室,北京 100190;
    2.中国科学院大学计算机科学与技术学院,北京 100080;3.中国航空无线电电子研究所,上海 200241)

  • 收稿日期:2022-04-25 修回日期:2022-05-25 接受日期:2022-10-25 出版日期:2022-10-25 发布日期:2022-10-28
  • 基金资助:
    国家重点研发计划(2017YFB0202105);国家自然科学基金(61972376);北京自然科学基金(L182053)

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

摘要: 色彩空间转换、图像缩放、图像滤波都是图像处理领域常见的算法,广泛应用于数字媒体、数据通信、生物医学和航空航天等领域。目前上述算法在ARM处理器上虽有开源的OpenCV库,但缺少与Intel IPP库精度相当的高性能图像处理库。为此,根据算法的计算访存特征,将上述算法分为数据无关算法、数据共享算法及非规则访存算法3类,提出了不同类别算法在ARMv8计算平台上的优化方法体系,最终构建了一个基于ARMv8计算平台的高性能图像处理算法库,精度上对标Intel IPP库,并通过算法优化、访存优化、SIMD优化及汇编指令优化等一系列优化方法的应用,大幅提升了图像处理算法的性能。实验结果表明,在华为鲲鹏920计算平台上,重点优化的CvtColor、Filter和Resize模块性能较OpenCV算法库都有显著提升。

关键词: ARMv8, 色彩空间转换, 图像插值, 图像滤波

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