KR-102961138-B1 - REAL-TIME VIDEO PROCESSING SYSTEM AND METHOD FOR AN EDGE DEVICE
Abstract
엣지 디바이스에서의 실시간 영상 처리 시스템 및 방법이 제공된다. 본 발명의 실시예들에 따르면, 영상 프레임이 메모리 상에서 이동하지 않고 물리주소를 기반으로 전달됨으로써 CPU에 의한 메모리 복사 없이 영상 처리가 가능해지므로, 메모리 대역폭의 사용량이 감소하며 이에 따라 전체 처리 성능이 향상될 수 있다. 특히, 영상 프레임이 입력 단계부터 출력 단계까지 Zero-copy 방식으로 처리됨에 따라 지연시간(latency)이 감소하고, 고해상도 영상에 대해서도 안정적인 실시간 처리가 가능해진다. 이 경우, CPU가 대용량 데이터 복사 작업에서 해방될 수 있어 후처리, 객체 트래킹 등의 고수준 연산에 CPU 자원을 집중 배분할 수 있게 되므로, 전체 시스템 처리 효율이 향상될 수 있다.
Inventors
- 이명철
Assignees
- 주식회사 티솔루션즈
Dates
- Publication Date
- 20260506
- Application Date
- 20260416
Claims (18)
- 복수의 연속된 물리 메모리 영역을 분할하여 예약 메모리 풀(Reserved Memory Pool)을 구성하는 예약 메모리 관리 모듈; 설정된 하나 이상의 입력 소스로부터 영상 프레임을 획득하고, 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 제공하는 입력 인터페이스 모듈; 소스 물리주소 및 목적지 물리주소를 입력받아 상기 소스 물리주소로부터 상기 영상 프레임을 직접 읽어 상기 영상 프레임의 해상도와 포맷을 변환함과 동시에 변환된 상기 영상 프레임을 상기 목적지 물리주소로 DMA(Direct Memory Access)-to-DMA 전송하는 하드웨어 스케일러; 입력버퍼 및 출력버퍼를 구비하며, 상기 입력버퍼의 물리주소로부터 상기 영상 프레임을 직접 읽어 설정된 신경망 추론을 수행하고, 추론결과를 상기 출력버퍼에 기록하는 신경망 처리 유닛(NPU, Neural Processing Unit); 및 상기 입력 인터페이스 모듈로부터 제공된 물리주소를 상기 소스 물리주소로 전달하고, 상기 NPU의 입력버퍼의 물리주소를 상기 목적지 물리주소로 설정하며, 상기 추론결과에 기초하여 생성되는 렌더링 데이터가 상기 예약 메모리 풀에 포함된 출력버퍼에 기록되도록 제어하는 파이프라인 제어 모듈을 포함하며, 상기 하드웨어 스케일러는, CPU(Central Processing Unit)에 의한 메모리 복사 없이 상기 소스 물리주소와 상기 목적지 물리주소를 이용하여 상기 영상 프레임을 서로 다른 도메인의 이종 메모리 영역 간 DMA-to-DMA 전송하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 1에 있어서, 상기 예약 메모리 관리 모듈은, 상기 복수의 연속된 물리 메모리 영역을 분할하여 상기 예약 메모리 풀을 N X M 매트릭스 형태로 생성하며, 상기 예약 메모리 풀의 각 행은, 서로 다른 용도에 대응되고, 상기 예약 메모리 풀의 각 열은, 서로 다른 입력 소스에 대응되는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 2에 있어서, 상기 입력 소스는, 카메라 디바이스, 네트워크 스트림, 비디오 파일 및 이미지 파일 중 적어도 하나를 포함하고, 상기 영상 프레임이 저장된 메모리 영역은, 제1 도메인에 위치하는 상기 예약 메모리 풀에 포함된 수신버퍼 및 상기 제1 도메인과 상이한 제2 도메인에 위치하는 DMA 버퍼 중 적어도 하나를 포함하며, 상기 입력 인터페이스 모듈은, 상기 입력 소스의 종류와 무관하게 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 동일한 인터페이스를 통해 상기 파이프라인 제어 모듈로 전달하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 3에 있어서, 상기 입력 인터페이스 모듈은, 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 환형 버퍼 큐에 순환 구조로 저장하며, 상기 파이프라인 제어 모듈은, 상기 환형 버퍼 큐로부터 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 획득하여 상기 영상 프레임에 대한 데이터 복사 없이 상기 영상 프레임에 직접 접근하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 1에 있어서, 상기 파이프라인 제어 모듈은, 상기 NPU의 입력버퍼가 패딩값으로 초기화된 상태에서 상기 NPU의 입력버퍼 내에서 상기 영상 프레임이 스케일링 전의 종횡비를 유지하도록 상기 NPU의 입력버퍼의 높이와 상기 하드웨어 스케일러에 의해 스케일링되는 상기 영상 프레임의 높이 간의 차이에 기초하여 산출된 오프셋을 상기 NPU의 입력버퍼의 시작부분에 대한 물리주소에 가산한 후 가산된 주소를 상기 목적지 물리주소로 설정하며, 상기 하드웨어 스케일러는, 상기 목적지 물리주소에 따라 상기 영상 프레임을 기록함으로써 상기 영상 프레임의 종횡비가 유지되는 레터박스(Letterbox) 전처리를 수행하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 1에 있어서, 상기 하드웨어 스케일러는, 복수 개 마련되어 각각 독립적인 스레드에서 동시에 동작하고, 상기 NPU는, 서로 다른 신경망 추론을 수행하는 NPU 클러스터를 복수 개 포함하며, 상기 파이프라인 제어 모듈은, 상기 입력 인터페이스 모듈로부터 제공된 물리주소를 각 하드웨어 스케일러의 소스 물리주소로 동일하게 전달하고, 서로 다른 NPU 클러스터의 입력버퍼의 물리주소를 각 하드웨어 스케일러의 목적지 물리주소로 각각 다르게 설정하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 6에 있어서, 상기 복수 개의 NPU 클러스터 각각은, 서로 비동기적으로 병렬 동작하면서 신경망 추론에 대한 유휴(Idle), 실행중(Running) 및 완료(Completed) 중 어느 하나의 상태를 가지며, 상기 신경망 추론이 상기 영상 프레임에 대한 기 정해진 처리시한 내 완료되지 않은 경우 상기 영상 프레임에 대한 이전 영상 프레임의 추론결과를 상기 영상 프레임의 추론결과로 대체하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 1에 있어서, 상기 렌더링 데이터는, 상기 NPU의 출력버퍼의 물리주소가 기 정의된 물리주소-가상주소 변환 테이블에 따라 가상주소로 변환됨에 따라 변환된 상기 가상주소를 통해 별도의 메모리 복사 없이 상기 추론결과에 대한 후처리가 수행된 후 상기 예약 메모리 풀에 포함된 출력버퍼에 기록되는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 청구항 1에 있어서, 상기 파이프라인 제어 모듈은, 상기 예약 메모리 풀에 포함된 출력버퍼의 물리주소를 디스플레이 장치에 전달하여 상기 렌더링 데이터가 포함된 영상 프레임이 출력되도록 제어하는, 엣지 디바이스에서의 실시간 영상 처리 시스템.
- 예약 메모리 관리 모듈에서, 복수의 연속된 물리 메모리 영역을 분할하여 예약 메모리 풀을 구성하는 단계; 입력 인터페이스 모듈에서, 설정된 하나 이상의 입력 소스로부터 영상 프레임을 획득하는 단계; 상기 입력 인터페이스 모듈에서, 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 제공하는 단계; 하드웨어 스케일러에서, 소스 물리주소 및 목적지 물리주소를 입력받아 상기 소스 물리주소로부터 상기 영상 프레임을 직접 읽어 상기 영상 프레임의 해상도와 포맷을 변환함과 동시에 변환된 상기 영상 프레임을 상기 목적지 물리주소로 DMA-to-DMA 전송하는 단계; 입력버퍼 및 출력버퍼를 구비하는 NPU에서, 상기 입력버퍼의 물리주소로부터 상기 영상 프레임을 직접 읽어 설정된 신경망 추론을 수행하는 단계; 상기 NPU에서, 추론결과를 상기 출력버퍼에 기록하는 단계; 및 파이프라인 제어 모듈에서, 상기 추론결과에 기초하여 생성되는 렌더링 데이터가 상기 예약 메모리 풀에 포함된 출력버퍼에 기록되도록 제어하는 단계를 포함하며, 상기 DMA-to-DMA 전송하는 단계 이전에, 상기 파이프라인 제어 모듈에서, 상기 입력 인터페이스 모듈로부터 제공된 물리주소를 상기 소스 물리주소로 전달하는 단계; 및 상기 파이프라인 제어 모듈에서, 상기 NPU의 입력버퍼의 물리주소를 상기 목적지 물리주소로 설정하는 단계를 더 포함하고, 상기 DMA-to-DMA 전송하는 단계는, CPU(Central Processing Unit)에 의한 메모리 복사 없이 상기 소스 물리주소와 상기 목적지 물리주소를 이용하여 상기 영상 프레임을 서로 다른 도메인의 이종 메모리 영역 간 DMA-to-DMA 전송하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 10에 있어서, 상기 예약 메모리 관리 모듈은, 상기 복수의 연속된 물리 메모리 영역을 분할하여 상기 예약 메모리 풀을 N X M 매트릭스 형태로 생성하며, 상기 예약 메모리 풀의 각 행은, 서로 다른 용도에 대응되고, 상기 예약 메모리 풀의 각 열은, 서로 다른 입력 소스에 대응되는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 11에 있어서, 상기 입력 소스는, 카메라 디바이스, 네트워크 스트림, 비디오 파일 및 이미지 파일 중 적어도 하나를 포함하고, 상기 영상 프레임이 저장된 메모리 영역은, 제1 도메인에 위치하는 상기 예약 메모리 풀에 포함된 수신버퍼 및 상기 제1 도메인과 상이한 제2 도메인에 위치하는 DMA 버퍼 중 적어도 하나를 포함하며, 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 제공하는 단계는, 상기 입력 소스의 종류와 무관하게 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 동일한 인터페이스를 통해 상기 파이프라인 제어 모듈로 전달하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 12에 있어서, 상기 영상 프레임을 획득하는 단계 이후, 상기 입력 인터페이스 모듈에서, 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 환형 버퍼 큐에 순환 구조로 저장하는 단계를 더 포함하며, 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 제공하는 단계 이후, 상기 파이프라인 제어 모듈에서, 상기 환형 버퍼 큐로부터 상기 영상 프레임이 저장된 메모리 영역의 물리주소를 획득하여 상기 영상 프레임에 대한 데이터 복사 없이 상기 영상 프레임에 직접 접근하는 단계를 더 포함하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 10에 있어서, 상기 목적지 물리주소로 설정하는 단계는, 상기 NPU의 입력버퍼가 패딩값으로 초기화된 상태에서 상기 NPU의 입력버퍼 내에서 상기 영상 프레임이 스케일링 전의 종횡비를 유지하도록 상기 NPU의 입력버퍼의 높이와 상기 하드웨어 스케일러에 의해 스케일링되는 상기 영상 프레임의 높이 간의 차이에 기초하여 산출된 오프셋을 상기 NPU의 입력버퍼의 시작부분에 대한 물리주소에 가산한 후 가산된 주소를 상기 목적지 물리주소로 설정하며, 상기 DMA-to-DMA 전송하는 단계는, 상기 목적지 물리주소에 따라 상기 영상 프레임을 기록함으로써 상기 영상 프레임의 종횡비가 유지되는 레터박스(Letterbox) 전처리를 수행하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 10에 있어서, 상기 하드웨어 스케일러는, 복수 개 마련되어 각각 독립적인 스레드에서 동시에 동작하고, 상기 NPU는, 서로 다른 신경망 추론을 수행하는 NPU 클러스터를 복수 개 포함하며, 상기 소스 물리주소로 전달하는 단계는, 상기 입력 인터페이스 모듈로부터 제공된 물리주소를 각 하드웨어 스케일러의 소스 물리주소로 동일하게 전달하고, 상기 목적지 물리주소로 설정하는 단계는, 서로 다른 NPU 클러스터의 입력버퍼의 물리주소를 각 하드웨어 스케일러의 목적지 물리주소로 각각 다르게 설정하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 15에 있어서, 상기 복수 개의 NPU 클러스터 각각은, 서로 비동기적으로 병렬 동작하면서 신경망 추론에 대한 유휴(Idle), 실행중(Running) 및 완료(Completed) 중 어느 하나의 상태를 가지며, 상기 신경망 추론이 상기 영상 프레임에 대한 기 정해진 처리시한 내 완료되지 않은 경우 상기 영상 프레임에 대한 이전 영상 프레임의 추론결과를 상기 영상 프레임의 추론결과로 대체하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 10에 있어서, 상기 렌더링 데이터는, 상기 NPU의 출력버퍼의 물리주소가 기 정의된 물리주소-가상주소 변환 테이블에 따라 가상주소로 변환됨에 따라 변환된 상기 가상주소를 통해 별도의 메모리 복사 없이 상기 추론결과에 대한 후처리가 수행된 후 상기 예약 메모리 풀에 포함된 출력버퍼에 기록되는, 엣지 디바이스에서의 실시간 영상 처리 방법.
- 청구항 10에 있어서, 상기 추론결과에 기초하여 생성되는 렌더링 데이터가 상기 예약 메모리 풀에 포함된 출력버퍼에 기록되도록 제어하는 단계 이후, 상기 파이프라인 제어 모듈에서, 상기 예약 메모리 풀에 포함된 출력버퍼의 물리주소를 디스플레이 장치에 전달하여 상기 렌더링 데이터가 포함된 영상 프레임이 출력되도록 제어하는 단계를 더 포함하는, 엣지 디바이스에서의 실시간 영상 처리 방법.
Description
엣지 디바이스에서의 실시간 영상 처리 시스템 및 방법{REAL-TIME VIDEO PROCESSING SYSTEM AND METHOD FOR AN EDGE DEVICE} 본 발명의 실시예들은 엣지 디바이스에서의 실시간 영상 처리 기술과 관련된다. 최근, 자율주행 차량, 첨단 운전자 보조 시스템(ADAS, Advanced Driver Assistance System), 지능형 감시 시스템, 드론, 로봇 등과 같은 다양한 분야에서 엣지 디바이스를 이용한 실시간 영상 처리 기술의 중요성이 급격히 증가하고 있다. 이러한 시스템에서는 카메라 디바이스, 네트워크 스트림 또는 저장된 비디오 파일로부터 입력되는 고해상도 영상 프레임을 실시간으로 처리하여 객체 인식, 차선 검출, 상황 판단 등과 같은 여러 기능을 수행해야 한다. 이에 따라, 일반적인 엣지 디바이스 기반의 영상 처리 시스템에서는 영상 프레임이 입력된 이후 전처리, 신경망 추론, 후처리 및 출력 단계에 이르기까지 여러 단계를 거치게 된다. 이 과정에서 영상 데이터는 서로 다른 메모리 영역 간에 반복적으로 복사되며, 특히 CPU(Central Processing Unit)에 의한 메모리 복사(Memory Copy)가 다수 발생한다. 예를 들어, 카메라 디바이스로부터 입력된 영상 프레임은 카메라 드라이버에 의해 DMA(Direct Memory Access) 방식으로 시스템 메모리에 저장된 후 응용 프로그램 영역으로 복사되고, 이후 영상 전처리를 위해 별도의 버퍼로 재복사된 후 다시 신경망 처리 유닛(NPU, Neural Processing Unit)의 입력버퍼로 복사되는 구조를 갖는다. 또한, 추론결과 역시 디스플레이 출력 또는 인코딩을 위해 별도의 출력버퍼로 복사되는 과정이 반복된다. 이와 같은 구조에서는 하나의 영상 프레임이 처리되는 동안 다수의 메모리 복사가 발생하여, 이에 따라 메모리 대역폭의 사용량이 급격히 증가하면서 CPU 부하가 가중되는 문제가 있다. 특히, 고해상도 영상을 초당 수십 프레임 이상 처리하는 환경에서는 메모리 복사에 의한 지연이 누적되어 실시간 처리 성능이 저하되며, 시스템 전체의 응답성이 떨어지는 문제가 발생한다. 또한, 영상 데이터는 카메라 DMA 버퍼, NPU의 DMA 버퍼, 디스플레이 출력버퍼 등 서로 다른 관리 주체에 의해 할당된 이종(異種) 메모리 영역에 존재하는데, 이러한 메모리 도메인 간 데이터 전달 시 CPU를 통한 중간 복사에 의존하는 경우가 많아 효율적인 데이터 흐름을 구성하기 어렵다는 문제도 존재한다. 한편, 영상 처리 과정에서 입력 영상의 종횡비를 유지하기 위한 전처리는 일반적으로 CPU 기반의 영상 처리 라이브러리를 통해 수행되며, 이 역시 추가적인 연산 및 메모리 접근을 유발하여 시스템 성능을 저하시킬 수 있다. 또한, 영상 입력 소스가 카메라뿐만 아니라 네트워크 스트림 또는 파일 기반 영상 등 다양한 형태로 제공되는 경우, 각 입력 방식마다 상이한 버퍼 관리 구조 및 처리 경로가 필요하여 시스템 설계가 복잡해지고 입력 소스 간 통합된 처리 구조를 구성하기 어렵다는 문제가 존재한다. 나아가, 영상 처리 결과를 인코딩하거나 외부로 전송하기 위해서는 별도의 버퍼링 구조가 필요하며, 이 과정에서도 데이터 복사에 따른 오버헤드가 발생할 수 있다. 따라서, 영상 프레임이 입력 단계부터 전처리, 신경망 추론, 출력 및 후단 처리 단계에 이르기까지 CPU에 의한 메모리 복사를 최소화하거나 제거하면서 서로 다른 메모리 도메인 간 데이터 전달을 효율적으로 수행할 수 있는 새로운 영상 처리 구조에 대한 요구가 지속적으로 증가하고 있다. 도 1은 본 발명의 일 실시예에 따른 실시간 영상 처리 시스템의 상세 구성 및 전체 파이프라인을 나타낸 개략도 도 2는 본 발명의 일 실시예에 따른 실시간 영상 처리 방법을 설명하기 위한 흐름도 도 3은 본 발명의 일 실시예에 따른 예약 메모리 풀의 예시 도 4는 본 발명의 일 실시예에 따른 다중 도메인에서의 DMA 버퍼의 관리 체계를 나타낸 블록도 도 5는 본 발명의 일 실시예에 따른 하드웨어 스케일러를 이용한 DMA-to-DMA 전송 및 레터박스 전처리를 설명하기 위한 도면 도 6은 본 발명의 일 실시예에 따른 멀티 NPU 클러스터의 비동기 병렬 실행 구조를 설명하기 위한 도면 도 7은 본 발명의 일 실시예에 따른 NPU의 신경망 추론에 대한 상태 전이도를 나타낸 예시 도 8은 본 발명의 일 실시예에 따른 환형 버퍼 큐를 이용한 파이프라인 연동 구조를 나타낸 도면 도 9는 본 발명의 일 실시예에 따른 물리주소의 전달에 의한 Zero-Copy 데이터 흐름을 설명하기 위한 흐름도 도 10은 본 발명의 일 실시예에 따른 다중 입력 소스의 추상화 구조를 나타낸 도면 도 11은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도 이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다. 본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다. 도 1은 본 발명의 일 실시예에 따른 실시간 영상 처리 시스템(100)의 상세 구성 및 전체 파이프라인을 나타낸 개략도이다. 본 실시예들에 있어서, 실시간 영상 처리 시스템(100)은 엣지 디바이스 환경에서 입력되는 영상 프레임을 실시간으로 처리하기 위한 구조를 제공하며, 자율주행 차량, 첨단 운전자 보조 시스템(ADAS), 지능형 감시 시스템, 드론, 로봇 등과 같은 다양한 분야에서 적용될 수 있다. 특히, 실시간 영상 처리 시스템(100)은 영상 프레임의 처리 과정에서 CPU에 의한 메모리 복사 없이 물리주소 기반의 데이터 전달 구조를 통해 Zero-copy 방식의 영상 처리 파이프라인을 구현하는 것을 특징으로 한다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 영상 처리 시스템(100)은 예약 메모리 관리 모듈(110), 입력 인터페이스 모듈(122), 하드웨어 스케일러(130), 신경망 처리 유닛(NPU, Neural Processing Unit)(140), 및 파이프라인 제어 모듈(200)을 포함한다. 예약 메모리 관리 모듈(110)은 복수의 연속된 물리 메모리 영역을 분할하여 예약 메모리 풀(Reserved Memory Pool, 112)을 구성하고, 이를 관리한다. 구체적으로, 예약 메모리 관리 모듈(110)은 복수의 연속된 물리 메모리 영역을 분할하여 예약 메모리 풀(112)을 N X M 매트릭스 형태로 생성할 수 있다. 이때, 예약 메모리 풀(112)의 각 행(또는 각 열)은 서로 다른 용도(예를 들어, 수신용도, 송신용도, 출력용도, 작업용도 등)에 대응되고, 예약 메모리 풀의 각 열(또는 각 행)은 서로 다른 입력 소스(예를 들어, 카메라 디바이스, 네트워크 스트림, 비디오 파일, 이미지 파일 등)에 대응될 수 있다. 입력 인터페이스 모듈(122)은 설정된 하나 이상의 입력 소스(120)로부터 영상 프레임을 획득하고, 영상 프레임이 저장된 메모리 영역의 물리주소를 제공한다. 본 실시예들에 있어서, 입력 소스는 예를 들어, 카메라 디바이스, 네트워크 스트림, 비디오 파일 및 이미지 파일 중 적어도 하나를 포함할 수 있다. 또한, 영상 프레임이 저장된 메모리 영역은 제1 도메인에 위치하는 예약 메모리 풀(112)에 포함된 수신버퍼 및 제1 도메인과 상이한 제2 도메인에 위치하는 DMA 버퍼 중 적어도 하나를 포함할 수 있다. 입력 인터페이스 모듈(122)은 카메라 디바이스, 네트워크 스트림, 비디오 파일, 이미지 파일 등과 같은 입력 소스(120)로부터 영상 프레임을 획득하고, 입력 소스(120)의 종류와 무관하게 영상 프레임이 저장된 메모리 영역의 물리주소를 동일한 인터페이스를 통해 파이프라인 제어 모듈(200)로 전달할 수 있다. 본 실시예들에 있어서, 영상 프레임이 저장된 메모리 영역이란 입력 소스(120)로부터 획득된 영상 프레임이 저장되는 메모리 공간을 의미하며, 물리주소를 통해 직접 접근이 가능한 메모리 영역을 포괄하는 개념이다. 영상 프레임이 저장된 메모리 영역은 예를 들어, 카메라 디바이스로부터 획득된 영상 프레임이 저장되는 카메라 DMA 버퍼, 네트워크 스트림 또는 디코더를 통해 획득된 영상 프레임이 저장되는 메모리 영역, 예약 메모리 풀(112)에 포함된 수신버퍼 등이 될 수 있다. 상기 메모리 영역은 DMA가 가능한 버퍼뿐 아니라 일반 메모리 영역을 포함할 수 있으며, 영상 프레임이 저장된 위치를 식별할 수 있는 물리주소를 통해 다른 구성요소에서 직접 접근 가능한 메모리 영역이면 이에 포함되는 것으로 해석될 수 있다. 특히, 영상 프레임이 저장된 메모리 영역은 영상 프레임 자체의 복사 없이 물리주소 전달을 통해 데이터 접근이 이루어지는 Zero-Copy 처리 구조를 지원하기 위한 메모리 영역을 모두 포함하는 넓은 의미로 해석된다. 이때, 입력 인터페이스 모듈(122)은 영상 프레임이 저장된 메모리 영역의 물리주소를 환형 버퍼 큐에 순환 구조로 저장할 수 있다. 후술할 바와 같이, 파이프라인 제