본 논문에서는 다양한 영상 전처리 알고리즘들을 적용할 수 있고, 영상 인식과 같이 ISP 응용 프로그램을 병렬로 처리 가능한 SIMT(Single Instruction Multiple Threads) 기반 Image Signal Processor를 제안하였다. 기존의 ISP는 입력 영상의 품질 개선을 위하여 영상 개선 알고리즘이 하드웨어로 설계되어 처리 속도는 빠르지만 다양한 영상 처리 알고리즘에 따라 성능 최적화에 어려움이 있었다. 제안한 ISP는 명령어를 기반으로 한 프로세서로서 다양한 영상 처리 알고리즘을 수행하고 SIMT 구조를 적용하여 알고리즘을 병렬로 수행해 성능을 개선하였다. 제안하는 ISP를 검증하기 위해 Xilinx Virtex-7을 탑재한 VC707 Board를 사용하였으며 cell multicore processor와 비교했을 경우 수행시간이 약 71%, ARM Cortex-A9과 ARM Cortex-A15와 비교하였을 경우 각각 63%, 33% 성능을 개선하였다.
본 논문에서는 다양한 영상 전처리 알고리즘들을 적용할 수 있고, 영상 인식과 같이 ISP 응용 프로그램을 병렬로 처리 가능한 SIMT(Single Instruction Multiple Threads) 기반 Image Signal Processor를 제안하였다. 기존의 ISP는 입력 영상의 품질 개선을 위하여 영상 개선 알고리즘이 하드웨어로 설계되어 처리 속도는 빠르지만 다양한 영상 처리 알고리즘에 따라 성능 최적화에 어려움이 있었다. 제안한 ISP는 명령어를 기반으로 한 프로세서로서 다양한 영상 처리 알고리즘을 수행하고 SIMT 구조를 적용하여 알고리즘을 병렬로 수행해 성능을 개선하였다. 제안하는 ISP를 검증하기 위해 Xilinx Virtex-7을 탑재한 VC707 Board를 사용하였으며 cell multicore processor와 비교했을 경우 수행시간이 약 71%, ARM Cortex-A9과 ARM Cortex-A15와 비교하였을 경우 각각 63%, 33% 성능을 개선하였다.
In this paper, we proposed SIMT based Image Signal Processor which can apply various image preprocessing algorithms and allow parallel processing of application programs such as image recognition. Conventional ISP has the hard-wired image enhancement algorithm of which the processing speed is fast, ...
In this paper, we proposed SIMT based Image Signal Processor which can apply various image preprocessing algorithms and allow parallel processing of application programs such as image recognition. Conventional ISP has the hard-wired image enhancement algorithm of which the processing speed is fast, but there was difficult to optimize performance depending on various image processing algorithms. The proposed ISP improved the processing time applying SIMT architecture and processed a variety of image processing algorithms as an instruction based processor. We used Xilinx Virtex-7 board and the processing time compared to cell multicore processor, ARM Cortex-A9, ARM Cortex-A15 was reduced by about 71 percent, 63 percent and 33 percent, respectively.
In this paper, we proposed SIMT based Image Signal Processor which can apply various image preprocessing algorithms and allow parallel processing of application programs such as image recognition. Conventional ISP has the hard-wired image enhancement algorithm of which the processing speed is fast, but there was difficult to optimize performance depending on various image processing algorithms. The proposed ISP improved the processing time applying SIMT architecture and processed a variety of image processing algorithms as an instruction based processor. We used Xilinx Virtex-7 board and the processing time compared to cell multicore processor, ARM Cortex-A9, ARM Cortex-A15 was reduced by about 71 percent, 63 percent and 33 percent, respectively.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 기존의 ISP와 다르게 다양한 영상 전처리 알고리즘과 인식 알고리즘의 처리가 가능한 SIMT 기반 ISP를 제안하였다. 제안하는 ISP는 명령어 기반으로 영상 전처리 과정을 위해 사용되는 다양한 종류와 크기를 갖는 filter에 대한 적용이 가능하다.
dispatch unit으로 전달된 명령어는 오퍼랜드의 인덱스나 오퍼랜드 활성 신호 등의 오퍼랜드 정보가 디코딩된다. 오퍼랜드에 대한 디코딩을 먼저 수행함으로써 레지스터를 참조하지 않는 오퍼랜드가 레지스터에 접근하게 되는 불필요한 상황을 방지하기 위한 방법이다.
하지만 기존의 ISP는 고정된 영상 처리 알고리즘을 수행하기 때문에 많은 영상 처리 알고리즘을 수행하기에는 한계가 존재한다. 이러한 문제를 해결하기 위해본 논문에서는 다양한 영상 처리 알고리즘과 인식 알고리즘을 수행할 수 있는 명령어 기반의 ISP를 제안한다. 또한 하나의 프로세서로서 사용자가 요구하는 다양한 영상 처리 및 인식 알고리즘을 병렬로 처리하는 SIMT (Single Instruction Multiple Threads)[3] 구조를 적용하여 ISP를 구현하였다.
이후 논문의 구성은 제안하는 ISP의 전체적인 구조와 지원하는 명령어 세트에 대해 소개하고각 구조를 이루고 있는 sub-ISP에 대해서 설명하고자 한다.
제안 방법
FFT 연산 이후 2-D butterworth high pass filter를 사용하여 edge enhancement 과정을 수행하였다. 그림 6는 원본 영상과 butterworth high pass filter 그리고 edge enhancement된 영상이다.
ISP 동작 확인을 위하여 외부 메인 PC의 CPU 를 사용하였고 PCI-E 인터페이스를 이용하여 FPGA board의 DDR3 SDRAM에 데이터를 읽고 쓰는 방식을 사용하였다. ISP 최초 동작을 위해 메인 CPU에서 PCI-E 통신을 사용하여 초기 신호를 전달하면 ISP는 SDRAM에 저장된 명령어에 대한 처리를 시작한다.
Radix-2 FFT의 수행 시간 비교를 위해 1024 point에 대한 FFT 수행 시간을 표 1과 같이 cell multicore processor[6], 임베디드 플랫폼의 CPU와 비교하였다. 1024 Point에 대한 FFT 수행 시간 비교 결과는 그림 5와 같다.
본 논문에서 제안하는 SIMT 기반 ISP는 입력 영상의 전처리 과정과 인식 알고리즘의 병렬 처리를 통해 고해상도의 영상에 대한 연산 가속화를 지원한다.[4] 제안하는 ISP의 구조는 그림 1과같이 스레드들의 묶음인 warp의 개념을 가지며 총 16개의 스레드로 구성되어 있다.
본 논문에서의 ISP는 FPGA 환경을 통해 실험 및 검증을 진행하였다. FPGA 환경은 Xilinx Virtex-7을 탑재한 VC707 board[5]를 사용하고 실험을 위해 Xilinx ISE 14.
제안하는 ISP는 명령어 기반 ISP로써 다양한 영상 처리 알고리즘과 인식 알고리즘 처리를 위하여 명령어 세트를 갖는다. ISP의 명령어는 크게 시스템 명령어 세트, 메모리 명령어 세트, 데이터 이동 명령어 세트, 산술연산 명령어 세트로 총 4가지의 명령어 세트로 구성되어 있다.
제안하는 ISP는 명령어 기반으로 영상 전처리 과정을 위해 사용되는 다양한 종류와 크기를 갖는 filter에 대한 적용이 가능하다. 제안하는 ISP는 효과적인 병렬 처리를 위해 16 warp, 16 thread로 동작하며 하나의 warp 당 16개의 sub-ISP로 구성되어 있다. 1024 point에 대한 FFT 수행 시간 비교 결과 cell multicore processor와 비교했을 경우 약 71%, ARM Cortex-A9과 ARM Cortex-A15와 비교하였을 경우 각각 63%, 33% 성능이 향상되었다.
대상 데이터
0b를 사용하였다. 또한 그림 3과 같이 Verilog HDL를 사용하여 제안하는 ISP를 구현하였으며 VC707 Board에 구현하기 위하여 AXI4와 AXI4-lite 시스템 버스 인터페이스를 사용하였다.
시스템 명령어 세트는 ISP의 명령어 동작 흐름과 관련된 END, CALL JMP, RET과 같은 명령어로 구성되어 있으며 메모리 명령어 세트는 바이트, 워드, 하프워드 크기로 메모리와 Sub-ISP 레지스터 사이에서 데이터를 전송하는 LS, LU, SU, LDM, STM 명령어로 구성되어 있다. 데이터 이동 명령어 세트는 sub-ISP 내부의 레지스터의 데이터 이동 역할을 수행하며 상수 값에 대한 레지스터 이동도 가능하다.
제안하는 ISP는 총 16개의 sub-ISP로 구성되어 있으며 16 warp, 16 thread로 동작한다. ISP 내부의 sub-ISP의 구조는 그림 2와 같다.
데이터처리
영상에 대한 FFT 전에 8 point에 대한 Radix-2 FFT를 수행하여 Matlab에서의 결과와 비교를 통해 정확도를 확인하였다. [82, 44, 62, 79, 92, 74, 18, 41]와 같은 8개의 임의의 값을 입력으로 FFT를 수행하였다.
이론/모형
본 논문에서의 ISP는 FPGA 환경을 통해 실험 및 검증을 진행하였다. FPGA 환경은 Xilinx Virtex-7을 탑재한 VC707 board[5]를 사용하고 실험을 위해 Xilinx ISE 14.4와 Model-Sim SE 10.0b를 사용하였다. 또한 그림 3과 같이 Verilog HDL를 사용하여 제안하는 ISP를 구현하였으며 VC707 Board에 구현하기 위하여 AXI4와 AXI4-lite 시스템 버스 인터페이스를 사용하였다.
이러한 문제를 해결하기 위해본 논문에서는 다양한 영상 처리 알고리즘과 인식 알고리즘을 수행할 수 있는 명령어 기반의 ISP를 제안한다. 또한 하나의 프로세서로서 사용자가 요구하는 다양한 영상 처리 및 인식 알고리즘을 병렬로 처리하는 SIMT (Single Instruction Multiple Threads)[3] 구조를 적용하여 ISP를 구현하였다.
성능/효과
제안하는 ISP는 효과적인 병렬 처리를 위해 16 warp, 16 thread로 동작하며 하나의 warp 당 16개의 sub-ISP로 구성되어 있다. 1024 point에 대한 FFT 수행 시간 비교 결과 cell multicore processor와 비교했을 경우 약 71%, ARM Cortex-A9과 ARM Cortex-A15와 비교하였을 경우 각각 63%, 33% 성능이 향상되었다.
Cell multicore processor와 비교했을 경우 수행 시간이 약 71%, ARM Cortex-A9과 ARM Cortex-A15와 비교하였을 경우 각각 63%, 33%감소한 것을 확인할 수 있다.
본 논문에서는 기존의 ISP와 다르게 다양한 영상 전처리 알고리즘과 인식 알고리즘의 처리가 가능한 SIMT 기반 ISP를 제안하였다. 제안하는 ISP는 명령어 기반으로 영상 전처리 과정을 위해 사용되는 다양한 종류와 크기를 갖는 filter에 대한 적용이 가능하다. 제안하는 ISP는 효과적인 병렬 처리를 위해 16 warp, 16 thread로 동작하며 하나의 warp 당 16개의 sub-ISP로 구성되어 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
SIMT 구조란?
이러한 문제를 해결하기 위해본 논문에서는 다양한 영상 처리 알고리즘과 인식 알고리즘을 수행할 수 있는 명령어 기반의 ISP를 제안한다. 또한 하나의 프로세서로서 사용자가 요구하는 다양한 영상 처리 및 인식 알고리즘을 병렬로 처리하는 SIMT (Single Instruction Multiple Threads)[3] 구조를 적용하여 ISP를 구현하였다.
ISP의 명령어는 어떻게 나뉘는가?
제안하는 ISP는 명령어 기반 ISP로써 다양한 영상 처리 알고리즘과 인식 알고리즘 처리를 위하여 명령어 세트를 갖는다. ISP의 명령어는 크게 시스템 명령어 세트, 메모리 명령어 세트, 데이터 이동 명령어 세트, 산술연산 명령어 세트로 총 4가지의 명령어 세트로 구성되어 있다. 각각의 명령어는 10가지의 인코딩 타입에 따라 분류된다.
sub-ISP에서 register conflict를 방지하기 위해 어떠한 구조를 사용하는가?
OC 처리 이전에는 홀수 warp과 짝수 warp 2가지의 실행 흐름을 갖기 때문에 sub-ISP에서는 분리된 2개의 실행 흐름을 동시에 처리한다. 명령어를 동시에 처리할 때 발생할 수 있는 register conflict를 방지하기 위해 register가 bank마다 번갈아 가면서 배치되어있는 구조를 사용한다.
Ho-Sub Yoon, "The Trend of Technology and Market of Image Recognition Service," Communications of the Korea Information Science Society 31(2), pp. 23-31, 2013.
Erik Lindholm, John Nickolls, Stuart Oberman, John Montrym, "NVIDIA Tesla: A Unified Graphics and Computing Architecture," Micro IEEE vol. 28, pp. 39-55, 2008.
Jeon-yong Lee, "A Design of a Superscalar GP-GPU based on a Stream Processing for Smart Device," The Graduate School of Seokyeong University, 2014.2
Xilinx, "VC707 User Guide," http://www.xilinx.com
J. Barhen, T. Humble, P. Mitra, M. Traweek, "Multi-FFT Vectorization for the Cell Multicore Processor," IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, pp. 780-785, 2010.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.