기술 명세서


시스템 아키텍처

전체 시스템을 구성하는 주요 컴포넌트와 상호작용 방식을 정의한다.

시스템 설계

아키텍처가 정해지면 실제 개발에 필요한 구체적인 기술적 결정과 설계를 하며, “어떻게 만들 것인가?”에 대한 질문에 초점을 맞춘다.

그래프 아키텍처

Video Processing

데이터 흐름

Video Processing

소프트웨어 아키텍처

소프트웨어의 개념적 구성 요소와 그 상호 관계를 체계적으로 정의하고, 모듈화 및 계층화를 통해 구조적 일관성을 확보함으로써 장기적인 안정성과 확장성을 보장하는 고수준의 설계 원칙을 수립한다. 또한, 이를 기반으로 최적의 개발 플랫폼 및 기술 스택을 선정할 수 있는 기준을 제공한다

계층 구조

계층

역할 및 설명

Application

사용자 App이 실행되는 계층, Task 또는Thread 로 구성, IP(process)C 또는 IT(thread)C 로 수행

Application Framework

App 개발을 위한 기본 구조 및 표준 을 제공하는 틀 ( 일정한 구조와 규칙 제공 )

Middleware

App과 OS 사이에서 중재 역할 수행 ( 데이터 변환, 통신 관리, API 호출 등 )

HAL

H/W와 S/W 간의 추상화된 I/F 계층 ( 하드웨어 종류와 상관없이 일관된 API 로 제어 )

OS

App과 H/W를 관리하는 운영체제, 프로세스 / 메모리 / 파일 시스템 / 네트워크 / 입출력 제어 역할 수행

Device Driver

H/W 장치를 제어하는 계층, OS와 H/W 간 I/F 역할 수행

Interrupt Handler

H/W 인터럽트를 처리하는 모듈

Linux Kernel

OS의 핵심 부분, CPU/ 메모리 / 파일 시스템 등 자원 관리와 App 과 H/W 간 직접적인 I/F 제공


소프트웨어 기술 스택

제품을 개발하는 모든 과정에서 활용되는 기술 스택을 정의한다. 소프트웨어를 개발, 실행, 배포 할 수 있는 기반 환경과 개발에 사용하는데 사용되는 기술 조합이다.

SW 개발 플랫폼

설명

Language

애플리케이션 및 시스템 소프트웨어 개발에 사용되는 주요 프로그래밍 언어

Framework

카메라 및 영상 처리를 위한 미들웨어 및 프레임워크

Development ( SDK )

임베디드 OS 커스터마이징 및 시스템 빌드를 위한 도구

DevOps ( CI/CD )

CI/CD 자동화, 소스 코드 관리, 코드 품질 관리 및 프로젝트 관리 도구

소프트웨어 설계

소프트웨어 설계 원칙에 따른 소프트웨어 개발 및 실행 기반 환경 플랫폼의 주요 구성 요소와 계층 구조에 대한 설계도이다.

계층 구조

핵심 구성 요소

역할 및 설명

Camera App

카메라 기능을 제공하는 애플리케이션 ( 사진 촬영, 영상 녹화, 미리보기 등 )

Picamera2

Python 기반의 고수준 카메라 라이브러리 ( libramera 활용 )

GStreamer

멀티미디어 프레임워크로, 인코딩(H.264) 등을 위한 플러그인 ( v4l2src, libcamerasrc 등 ) 제공

V4L2

리눅스 커널의 비디오 장치 인터페이스로, 카메라의 원시 데이터를 애플리케이션에 전달하는 역할 수행

libcamera

최신 리눅스 카메라 스택으로, 복잡한 카메라 파이프라인을 관리하고 V4L2보다 더 정교한 기능 제공

USB

USB 카메라 및 기타 주변 장치와의 인터페이스를 제공하는 리눅스 드라이버

VideoCodec

영상 및 오디오 데이터를 압축 / 디코딩하는 하드웨어 엔진

소스 코드 구조


소프트웨어 플랫폼 아키텍처


임베디드 플랫폼

임베디드 플랫폼 사양

HW

Description

FPGA

Xilinx Zynq-7000 XC7020-CLG400

SoM

Raspberry Pi 4 CM4 Lite

Camera I/F

Cypress FX3 USB 3.0 Controller

개발 플랫폼

개발 플랫폼 사양

DevKit ( HW )

Description

FPGA

AMD Zynq™ 7000 SoC ZC702 EVB’d + SW Platform ( SDK IDE, etc )

SoM

Raspberry Pi 4 Model B B’d + SW Platform ( SDK, IDE, etc )

Camera I/F

EZ-USB™ FX3 Camera B’d + ( SDK, IDE, etc )

DevKit ( SW )

Description

FPGA

Off. SDK ( Vitis SW Platform )

SoM

Off. SDK ( Raspberry Pi OS + Raspberry Pi Imager )

Camera I/F

Off. SDK ( EZ-USB™ FX3 SDK )