스파르탄-3A DSP를 이용한 보안 비디오 분석
상태바
스파르탄-3A DSP를 이용한 보안 비디오 분석
  • CCTV뉴스
  • 승인 2009.03.12 00:00
  • 댓글 0
이 기사를 공유합니다

유테쿠스는 멀티 디바이스, DSP 솔루션이 비용 및 시스템 측면에서 효과적이지 않다는 것을 신속하게 파악하고 기존 제품에서 개발한 IP를 쉽게 포팅할 수 있고 MVE에 더 많은 기능을 추가할 수 있는 싱글칩 솔루션을 고려하게 되었다. 유테쿠스는 몇 가지 자료를 통해 자일링스 스파르탄-3A DSP 3400A 디바이스가 대안이 될 수 있음을 알 수 있었다. 이 디바이스는 126개의 전용 XtremeDSP™DSP48A 슬라이스를 제공하는데다 유테쿠스 시스템이 요구하는 수준 이상의 성능을 제공한다.
<편집부>

광범위한   보안 분석 애플리케이션에서 요구되는 프로세싱 대역폭을 만족시키기 위해 관련 업체들은 시스템 하드웨어에 대한 접근방법을 재고려하고 있다. 싱글 비디오/이미징 DSP 프로세서가 제공할 수 있는 데이터 처리속도로는 일부 연산 집약적 분석 작업을 수행하는데 있어 충분하지 않으며, 또한 풀 비디오 프레임 속도에서 HD 해상도를 처리할 수 있는 안정적이고 견고한 솔루션은 아직 검증된 바 없다. 이로 인해 시스템 엔지니어들은 멀티 칩이나 다른 대안의 싱글 칩 시스템을 고려해야만 하는데, 이러한 솔루션들은 모두 장단점을 가지고 있다.

멀티플 DSP로 구성된 멀티칩 시스템은 일반적으로 디자이너들에게 보다 익숙한 디자인 플로우지만, PCB 비용이 추가되고 보드 및 시스템 공간이 증가하는데다 시스템 성능 문제를 야기할 수 있다. 반면 싱글칩 솔루션은 비용 및 풋프린트, 전력소모 등에서 이점을 제공할 것으로 보이지만 잠재적으로는 디자이너들의 숙련도 요구를 가중시키고, 디자인 프로젝트의 복잡성 및 엔지니어링 비용을 증가시키는 것은 물론 제품 출시를 지연시킬 수 있다.

이러한 점들이 캘리포니아 버클리 소재의 비디오 분석 제품 공급업체인 유테쿠스(Eutecus)가 차세대 분석 제품 MVE™(Multi-core Video Analytics Engine)의 시스템 사양을 조정하는데 있어 직면했던 딜레마이기도 했다.

유테쿠스는 첫 번째 세대의 제품을 TI의 디지털 미디어 SoC 플랫폼인 다빈치 상에 구현했다. 하지만 2세대 제품의 경우 보다 향상된 프로세싱 성능과 시스템 집적도가 요구됐다. 유테쿠스는 멀티 디바이스, DSP 솔루션은 비용 및 시스템 측면에서 효과적이지 않다는 것을 신속하게 파악하고 기존 제품에서 개발한 IP를 쉽게 포팅할 수 있고 MVE에 더 많은 기능을 추가할 수 있는 싱글칩 솔루션을 고려하게 되었다.
<그림 1. 멀티코어 MVE 로드맵과 애플리케이션 사례>

유테쿠스는 몇 가지 자료를 통해 자일링스 스파르탄-3A DSP 3400A 디바이스가 대안이 될 수 있음을 알 수 있었다. 이 디바이스는 126개의 전용 XtremeDSP™DSP48A 슬라이스를 제공하는데다 유테쿠스 시스템이 요구하는 수준 이상의 성능을 제공하며, 가격 면에서도 매우 저렴하다.

또한 스파르탄-3A DSP를 지원하는 자일링스 EDK (Embedded Development Kit)를 통해 마이그레이션에 대한 우려도 불식시킬 수 있었다. EDK는 자일링스 MicroBlaze™ 임베디드 프로세서를 통해 듀얼 프로세서 하드웨어 아키텍처 개발을 가능하게 하며, 이는 TI의 다빈치 플랫폼을 이용한 듀얼 프로세서 하드웨어 아키텍처와 유사한 것이다.

자일링스 디바이스를 선택한 유테쿠스는 기존의 다빈치 코드를 자일링스 듀얼 프로세서 임베디드 시스템에 포팅함으로써 싱글칩 분석 디자인을 구현했다. 그런 다음 풀 프레임 속도의 HD 비디오 프로세싱을 비롯한 정밀한 성능 요건을 충족시키기 위해 FPGA 패브릭 내의 가속기 블록 세트를 적절하게 생성하는 것으로 MVE를 개발할 수 있었다. MVE는 현재 우주/방위, 머신 비전, 감시 장치 시장에 공급되고 있다.

비디오 분석 제품 개요

유테쿠스의 MVE는 이 회사가 제공하는 InstantVision Embed ded™ 소프트웨어를 기반으로 하고 있으며, 특화된 C-MVA™(Cellu lar Multicore Video Analytics) 코프로세서는 다양한 첨단 기능 및 성능을 제공한다.

최신 버전의 MVE/C-MVA는 비디오 프레임 속도로 HD 해상도를 처리할 수 있다. 전력소모는 1W 미만이며, 완벽한 병렬처리로 멀티플 이벤트-디텍션 및 알고리즘을 수행한다. 그림 1은 비디오 분석에 기반한 트래픽 모니터링 사례의 출력을 보여주고 있다. 여기에는 서로 다른 차량 종류에 따른 분류 및 소통방향, 차선변경, 차선위반 등이 서로 다른 컬러로 동시에 표시되어 있다.

유테쿠스는 대상이 밀집된 공간에서 특히 겹쳐져 있거나 불완전한 형태의 대상/이벤트를 분석하는데 필요한 분석 기능을 지원하기 위해 코프로세서의 동작 복잡성을 혁신적으로 확장할 수 있도록 C-MVA 코프로세서를 설계했다. 애플리케이션별로 특화된 DSP는 이러한 종류의 기능뿐만 아니라 프로세싱 스케일링에 있어서도 매우 취약하다. 이러한 기능들은 모두 FPGA를 통해 보다 유연하게 구현될 수 있다.

자일링스 스파르탄-3A DSP 3400A FPGA에서 제공되는 126개의 XtremeDSP DSP48A 슬라이스는 30GMAC의 DSP 성능을 제공하며, 비디오 분석에서 요구되는 성능과 최적의 가격 요건을 잘 갖추고 있다.

또한 자일링스 FPGA는 고객의 요구에 기반해 미래의 비디오 분석 기능이나 연관된 이벤트-디텍션 사례 등을 추가할 수 있도록 한다.

이와 함께 자일링스 FPGA와 ISE짋 디자인 수트 툴은 분석 디자인 팀이 보다 유연하게 엔드 커스터머를 위한 커스터마이징 솔루션을 구축할 수 있도록 도와준다. 신속하게 표준 및 HD 비디오 프로세싱 프로토타입을 구축함으로써 비디오 분석 엔진과 SoC 솔루션의 커스터마이제이션을 빠르게 수행할 수 있다. 따라서 고객의 요구에 따라 스파르탄-3A DSP 3400A나 혹은 보다 저렴한 스파르탄-3A DSP 1800A FPGA 디바이스의 이용 가능한 리소스를 효과적으로 활용할 수 있을 것이다.

그림 2. 듀얼-마이크로블레이즈 SoC 아키텍처 MVE 엔진 코프로세서 블록 다이어그램

FPGA 솔루션은 동일한 하드웨어 플랫폼을 이용해 다양한 파생 상품을 추가로 개발할 수 있다는 이점을 가지고 있다. VHDL을 이용해 다양한 분석 가속 엔진을 설계했기 때문에 C-MVA 코프로세서에 특정 코어를 집적할 수 있다. 이러한 접근방법은 엔지니어들이 다른 FPGA 프로그래밍 파일을 생성하는데 있어 듀얼-마이크로블레이즈 임베디드 시스템을 재사용할 수 있으며, 또한 이러한 확장이 가능한 솔루션을 통해 광범위한 분석 애플리케이션별로 특화된 제품을 손쉽게 개발할 수 있다.

다빈치에서 자일링스 FPGA로 마이그레이션

유테쿠스의 기존 세대 비디오 분석 제품은 ARM9x 프로세서와 C64+ DSP 코프로세서를 포함하고 있는 TI의 다빈치 디지털 미디어 SoC TMS320-DM6446에 기반하고 있다. 유테쿠스는 통신 및 컨트롤을 위해 ARM9x 프로세서를 사용했고 분석 알고리즘을 위한 DSP 프로세싱에는 C64+를 이용했다.

하지만 이러한 통합 시스템은 2세대 제품에서 필요로 하는 프로세싱 요건을 만족시키지는 못했다. 결국 유테쿠스는 스파르탄-3A DSP FPGA 제품군으로 선회했다.

유테쿠스는 독립적으로 동작하는 2개의 마이크로블레이즈 버전 7 소프트 코어 프로세서를 지원하는 자일링스 임베디드 시스템을 이용해 디자인 마이그레이션 작업을 간단히 처리할 수 있었다. 이러한 아키텍처는 ARM 및 DSP 프로세서 코드를 각각 별도로 포팅할 수 있도록 하기 때문에 매우 손쉽게 디자인 마이그레이션을 가능하게 한다. 그림 2는 유테쿠스 하드웨어 시스템과 MVE 기반 레퍼런스 SoC 디자인의 블록 다이어그램을 보여주고 있다.

유테쿠스의 MVE 엔진은 FPGA 패브릭 내에서 동작하는 하드웨어 가속 IP 코어의 모듈러 체인과 같이 설계된 마이크로블레이즈(MB0) 상에서 동작하는 InstantVision 임베디드 소프트웨어와 마이크로블레이즈(MB1)에 구현된 시스템 컨트롤 및 통신, 그리고 C-MVA 코프로세서로 구성돼 있다.

ARM과 DSP 코드의 마이그레이션은 자일링스 ISE 디자인 수트와 마이크로블레이즈 소프트 코어를 이용해 수월하게 검증되었다. 유테쿠스의 InstantVision 크로스 플랫폼 환경의 차별화된 장점 중의 하나는 하이 레벨, 표준 C/C++ 언어로 작성되었다는 것과 약간의 수정만이 요구된다는 것이다.
그림 3. 비디오 분석 알고리즘 구성 블록 다이어그램
<그림 4. MVE 분석 엔진과 InstantVision 및 드라이버 소프트웨어>

코드를 포팅하고 나서 올바른 기능 동작 여부와 성능의 병목현상에 대해 검증했다. 애초에 몇 개의 다빈치 C64x 코프로세서 가속기 블록을 이용해 TI 프로세서용으로 개발한 C/C++ 코드를 가속화하는 것은 이 플랫폼의 어셈블리 레벨 최적화와 함께 매우 중요한 과제였다. 유테쿠스는 마이그레이션을 위해 이러한 기존 블록들을 하이 레벨 C 기능으로 대체하는 것을 시작으로 일련의 단계를 밟아 수행했다. 결국 주요 기능들을 FPGA 패브릭 상에서 동작하는 동등한 가속기 블록으로 대체할 수 있었다.

기능적 측면에서 봤을 때 유테쿠스의 솔루션은 입력 데이터인 표준/HD 비디오 플로우를 수신하고 이벤트-디텍션 메타 데이터를 생성하는 MVE로 구성된 3 레이어를 가지고 있다. 최종 메타 데이터는 분석된 출력자료인 디버깅을 위한 몇몇 이미지 플로우와 함께 대상/이벤트 트래킹 및 분류 결과를 제공한다. 유테쿠스는 마이크로블레이즈 프로세서 상에서 동작하는 임베디드 소프트웨어나 혹은 특화된 IP 코어로 기능 블록을 구현했다. 이러한 특화된 하드웨어 가속기를 FPGA 패브릭 상에 배치했으며, 완벽한 가속기 체인을 통해 C-MVA 분석 코프로세서를 구성했다.

그림 3에 보여진 것처럼 MVE 비디오 분석 엔진의 3개의 알고리즘 레이어는 몇몇 주요 기능 블록으로 구성되어 있는데, 이들 대부분은 FPGA에서 이용 가능한 다이내믹 컨피규레이션 리소스에 기반한 특화된 IP 코어를 이용해 획기적으로 속도를 가속시킬 수 있다. 유테쿠스는 이러한 IP 코어를 이용해 C-MVA 코프로세서를 설계했으며, 전반적인 분석 알고리즘의 프론트 엔드 및 미들 레이어 프로세싱을 가속시켰다(그림 4 참조). 이러한 모듈러 접근방법은 자일링스의 ISE 디자인 수트에서 지원되며 성능 및 전력소모의 모든 측면에서 시스템을 조정할 수 있다.

FPGA 가속기 블록을 통해 터보 차징

FPGA 기반 비디오 분석 시스템의 잠재적인 모든 가능성을 실현하기 위해서는 임베디드 베이스 시스템에 비디오 가속 엔진을 설계, 통합하는 것이다. 유테쿠스는 몇몇 성능 병목현상을 예상하고 조기에 VHDL을 이용해 가속기 세트를 개발하기 시작했다. 자일링스 ISE 디자인 수트와 EDK에 포함되어 있는 코드 프로파일러는 추가적인 성능 병목현상을 식별하고 디자인상에서 요구되는 모든 가속기 블록을 개발하는데 많은 도움이 되었다. 표 2는 포괄적인 IP 코어 제품군 리스트를 보여주고 있다.
그림 5. 완벽한 하드웨어-펌웨어-소프트웨어 레퍼런스 디자인


유테쿠스의 개발팀은 다른 여타의 업체들과 마찬가지로 별도의 하드웨어 및 소프트웨어 개발자로 구성돼 있다. 각각의 두 디자인 도메인 간의 개념적 정의를 충분히 유지하여 각 개발자들의 생산성을 관리하는 것은 이 프로젝트를 성공으로 이끄는데 있어서 매우 중요했다.

유테쿠스는 RTL 탬플릿과 하드웨어 가속기 블록을 위한 소프트웨어 드라이버 파일을 생성하는 자일링스 플랫폼 스튜디오와 IP 생성 위자드의 기능을 통해 이러한 작업을 능률적으로 처리할 수 있었다. 이러한 탬플릿은 임베디드 시스템의 레지스터 및 DMA 로직, FIFO와 액세스하기 위해 디자인상에서 필요한 인터페이스 로직을 포함하고 있다. 유테쿠스는 RTL을 생성하기 위해 이 탬플릿을 이용했으며 개발자들이 향후 필요할 때 수정할 수 있도록 임베디드 IP 카탈로그 안에 이 RTL을 배정해 두었다.

유테쿠스의 IP 코어 개발 과정에는 PLB46-MPMC-OPB 기반 백본을 위한 범용 및 모듈러 주변 블록 개발 플로우 또한 포함돼 있다. 이러한 주변기기는 싱글 및 멀티 I/O 프로토타입(SIMO, MIMO, MISO 모델)으로 구성되며, 까다로운 이미지 플로우 프로세싱 알고리즘을 위한 멀티쓰레드 코프로세서 파이프라인을 유연하게 개발할 수 있다. 유테쿠스는 다양한 분석 엔진의 설계 및 커스터마이제이션을 위해 이러한 IP 코어들을 임의적으로 조합하고 구성함으로써 실현할 수 있었다.

MVE 분석 엔진은 InstantVision 임베디드 소프트웨어 모듈과 C-MVA 분석 코프로세서를 구성하는 하드웨어 가속기로 이루어져 있다. 유테쿠스는 자일링스 스파르탄-3A DSP 3400A FPGA를 기반으로 MVE 프로토타입을 개발하고 SoC 레퍼런스 디자인을 만들었다.

이 레퍼런스 디자인은 통신 및 데이터 스트리밍을 위해 필요한 모든 I/O 기능을 지원한다(그림 2의 완벽한 하드웨어 펌웨어 블록 다이어그램 참조). 또한 이 SoC 레퍼런스 디자인은 MVE 분석 엔진뿐만 아니라 지원되는 모든 I/O 모듈을 위해 91%의 로직 슬라이스와 81%의 블록 RAM, 32%의 DSP 슬라이스만을 사용했다.

MVE 분석 엔진(백본의 MPMC-PLB 부분과 특화된 I/O 컴포넌트는 제외)만 따로 분석해 보면 오직 46%의 로직 슬라이스와 44%의 블록 RAM, 23%의 DSP 슬라이스를 사용했다. 따라서 보다 저렴한 스파르탄-3A DSP 1800A FPGA 디바이스로의 마이그레이션 또한 가능하다.

유테쿠스는 관련 프로세싱이 하나의 클록 사이클 안에서 완벽하게 수행될 수 있도록 C-MVA 코프로세서의 모든 IP 코어를 디자인했다. 이 기능은 비동기 FSL 인터페이스를 통합함으로써 시스템 인티그레이터가 나머지 시스템 영역의 서로 다른 클록 도메인으로 C-MVA 코프로세서를 드라이브 할 수 있도록 했다. 이를 통해 C-MVA는 보다 높은 주파수의 내부 시스템 클록으로 백본을 드라이브 하면서도 보다 낮은 픽셀 클록 주파수에서도 동작이 가능하기 때문에 시스템 성능 요건을 유지하면서도 획기적으로 전력소모를 절감할 수 있다.

커스터마이제이션, 패키징, 시스템 통합

유테쿠스는 시스템을 견고히 하고 추가적인 개발이 가능하도록 모든 소프트웨어 레이어를 갖춘 보안/감시 데모를 개발했으며, 이는 유저들이 다양한 레이어(박스기사 참조)의 시스템에 유테쿠스 제품을 보다 빠르게 통합할 수 있도록 도와준다. 그림 5에 나타내고 있는 완벽한 SoC 디자인의 하이 레벨 블록 다이어그램에는 하드웨어 IP 코어, 펌웨어, 소프트웨어 등이 싱글 레퍼런스 디자인에 완벽하게 구현되어 있음을 알 수 있다.

또한 하드웨어, 펌웨어, 소프트웨어 컴포넌트를 다양한 레벨의 시스템 커스터마이제이션을 위해 유연하게 통합할 수 있다. 서버 레벨 커스터마이제이션은 FPGA 안에 주문 제작된 SoC 디자인을 포함시킬 수 있으며, 클라이언트(컨피규레이션) 레벨을 위한 수정은 WIN32 혹은 .Net API 레이어에 적용시킬 수 있다. 이러한 구조는 고객들이 다양한 컨피규레이션과 테스트 인터페이스를 빠르게 프로토타이핑 할 수 있도록 도와준다.

유저는 유연한 컨피규레이션 관리 및 성능 미세조정, 상태 모니터링, 펌웨어 업데이트를 위해 UART 혹은 TCP/IP 상에 클라이언트-서버 통신을 구축할 수 있다.

유테쿠스는 2세대 제품 개발을 완료했지만 이미 3세대 디자인을 위한 요건들을 고려하고 있다. 이번 프로젝트에서 얻은 경험을 토대로 유테쿠스는 향후에도 자일링스의 최첨단 프로세스 기술 기반의 보다 안정적이고 보다 향상된 최신의 첨단 DSP 기능을 탑재한 제품을 자사의 신규 개발 제품에 적용할 것이라고 밝혔다.

XtremeDSP 비디오 스타터 키트
스파르탄-3A DSP 에디션 이용 개발 가속

유테쿠스는 자사의 개발 및 데모 전략의 하나인 MVE 비디오 분석 개발 키트를 출시함으로써 유저들이 보다 빠르게 FPGA 기반 비디오 시스템의 플랫폼 개발 및 프로토타이핑을 가능하도록 했다. 유테쿠스의 개발 키트는 FMC 비디오 I/O 도터카드와 CMOS 카메라, 케이블, 자일링스 개발 소프트웨어를 포함하고 있는 XtremeDSP 비디오 스타터 키트-스파르탄-3A DSP 에디션을 기반으로 구현됐다.
유테쿠스는 MVE 분석 엔진을 마이그레이션 한 후에 이 개발 플랫폼을 계속해서 활용하고 있으며 MVE 분석 솔루션을 기존 비디오 시스템 개발자 커뮤니티에서 평가할 수 있도록 추가적인 하드웨어 비용 없이 제공하고 있다.
아직 비디오 스타터 키트를 가지고 있지 않은 개발자들은 자일링스 대리점을 통해 쉽게 구매할 수 있다. FPGA를 프로그램하게 되면 VSK가 부팅되고 유테쿠스 분석 동작을 수행하기 시작한다. 이를 통해 개발자들은 FPGA 기반 비디오 분석 시스템의 성능과 기능, 비용을 손쉽고 빠르게 평가할 수 있다




댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.