개요#
REGULUS는 모빌린트의 초저전력 AI System-on-Chip입니다. 모빌린트 NPU와 Arm Cortex-A53 애플리케이션 프로세서, 그리고 엣지 비전 장치에 필요한 영상·신호 처리 블록을 한 칩에 담고 있어, 카메라 입력부터 전처리, 추론, 후처리까지 하나의 칩에서 수행할 수 있습니다.
이 매뉴얼은 REGULUS 기반 장치용 애플리케이션을 개발하는 개발자를 대상으로 합니다. 현재는 REGULUS Vision DSP를 다룹니다. DSP가 CPU 대신 처리하는 작업과 애플리케이션 코드에서 DSP를 사용하는 C API를 설명합니다.
온칩 처리 블록#
REGULUS에는 NPU와 CPU 외에 다음과 같은 영상·신호 처리 블록이 있습니다.
블록 |
기능 |
|---|---|
MIPI CSI-2 RX |
MIPI 카메라의 영상을 수신합니다. |
ISP |
센서의 raw 신호를 컬러 영상(BGR, RGB, YUV 포맷)으로 변환합니다. |
CODEC |
JPEG 인코더/디코더입니다. |
CONVERT |
색 공간과 크기를 변환합니다. |
HEVC |
H.264, H.265 인코더/디코더입니다. |
DMA350 |
2D 복사, 미러, 회전, 크롭을 수행하는 DMA 엔진입니다. |
Vision DSP |
NPU 추론 전후의 전처리·후처리를 실행하는 프로그래머블 DSP입니다. |
ISP와 고정 기능 가속기는 Linux V4L2와 GStreamer를 통해 사용합니다. Vision DSP는 이 매뉴얼에서 설명하는 SP500 DSP API를 통해 사용합니다.
Vision DSP의 역할#
REGULUS의 AI 애플리케이션은 모델 종류와 관계없이 다음 단계를 거쳐 데이터를 처리합니다.
Input -> Preprocessing (CPU or DSP) -> Inference (NPU) -> Postprocessing (CPU or DSP) -> Output
입력(Input) 은 모델이 처리할 데이터입니다. ISP를 거친 카메라 프레임이나 오디오 클립이 그 예입니다.
전처리(Preprocessing) 는 입력을 모델이 받는 텐서로 바꿉니다. 프레임을 리사이즈하고 패딩하는 letterbox, 오디오를 log-mel spectrogram으로 바꾸는 단계가 대표적입니다.
추론(Inference) 은 컴파일된 모델을 NPU에서 실행합니다.
후처리(Postprocessing) 는 모델의 출력을 애플리케이션이 쓸 수 있는 결과로 바꿉니다. YOLO head 출력을 박스로 디코딩하는 단계가 대표적입니다.
전처리와 후처리는 CPU와 Vision DSP 중 어디에서든 실행할 수 있습니다. DSP에서 실행하면 CPU는 애플리케이션의 다른 작업에 쓸 수 있습니다. 또한 DSP는 NPU와 메모리를 공유하므로, DSP가 준비한 텐서를 복사 없이 NPU에 넘길 수 있습니다.
DSP가 제공하는 연산과 API 구성은 DSP 개요에서, 첫 애플리케이션을 빌드하고 실행하는 방법은 DSP 프로그래밍 가이드에서 확인하세요.
매뉴얼 버전#
이 매뉴얼의 버전은 REGULUS 패키지 릴리스 번호 중 major와 minor만 따릅니다. 매뉴얼 v4.1은 REGULUS 패키지의 모든 v4.1.x 릴리스를 다루며, patch 릴리스는 문서화된 인터페이스를 바꾸지 않습니다. 각 버전은 해당 REGULUS 릴리스에 포함된 SP500 DSP API를 설명합니다. REGULUS v4.1에는 SP500 DSP API 1.0.0이 포함됩니다. 버전 선택기에서 장치에 설치된 REGULUS 패키지 릴리스에 맞는 매뉴얼을 선택하세요.