Implementation of Fast Sobel Edge Detector Using SSE Instructions

SSE 명령어를 이용한 고속 Sobel Edge Detector 구현

  • Park, Eun-Soo (School of Information Engineering, Inha University) ;
  • Cui, Xue-Nan (School of Information Engineering, Inha University) ;
  • Kim, Jun-Chul (School of Information Engineering, Inha University) ;
  • Kim, Hak-Il (School of Information Engineering, Inha University)
  • Published : 2007.10.26

Abstract

본 논문에서는 SSE(Streaming Sigle instruction multiple data Extensions)명령어를 이용한 고속 Sobel edge detection 알고리즘을 제안한다. SSE를 지원하는 CPU는 128bit의 SSE 레지스터를 보유하고 있으며 이에 속한 데이터는 한 번에 병렬적으로 처리 될 수 있다. 실험은 Sobel 연산에 대하여 순차처리 코딩, 이미지 처리 라이브러리인 OpenCV, MIL 8.0, IPP 5.2를 이용한 코딩, shift 알고리즘을 사용한 SSE 코딩, 제안하는 방법을 이용한 SSE 프로그램 코팅에 대해 각각의 수행 시간을 측정하고 이를 비교하였다. 실험결과 제안하는 방법은 순차코팅에 비해 약 12배, OpenCV에 비해 13배, MIL에 비해 2배 정도 빨랐으며, IPP에 대해선 약간 빠른 성능 향상을 보였다. 또한 일반적인 shift를 이용한 방법보다 제안하는 방법은 대략 1.5배 정도의 성능 향상이 있었다. 이를 통해 제안하는 방법은 라이브러리를 구입하는 비용을 들이지 않으며 추가적 하드웨어의 구입 없이도 PC에서 빠른 Sobel 연산을 수행 할 수 있음을 보였다.

Keywords