머신 비전 애플리케이션에 멀티코어
프로세서 활용
  • 2012-07-02
  • 편집부

TI의 C6657/5/4 DSP는 뛰어난 계산 성능, 다양한 I/O 인터페이스, 넓은 메모리 공간, 기타 주요 기능들을 하드웨어에 통합시켜 산업 검사 시스템의 고성능 요건을 지원하고 있다. DSP 코어에서 C와 같은 고등 언어로 소프트웨어 정의 영상 시스템 개발을 간소화하면, 새롭고 혁신적인 알고리즘의 구현이 가속화되고 제품 출시 기간이 단축된다.

글 | 무케시 쿠마 (Mukesh Kumar) 멀티코어 프로세서, 마케팅 디렉터
텍사스 인스트루먼트(TI)

TI는 상상할 수 있는 거의 모든 종류의 비전 애플리케이션의 요건에 맞춰 ARM 코어에 기반을 둔 마이크로프로세서부터 ARM 및 DSP 코어를 가진 SoC까지 다양한 프로세서와 초고성능 멀티코어 프로세서를 갖추고 있다. 이 디바이스들은 프로세싱 집약적인 영상 비전 기반의 애플리케이션이다. 예를 들어 스마트 카메라, 중앙집중식 비전 시스템, 상업용 기성 가속기 카드, 프레임 그래버 등의 다양한 솔루션 포트폴리오를 구성하고 있다. 이와 같은 제품들은 자동화된 광학 검사 시스템, 로봇 비전 서브-시스템과 ID/2D 바코드 레코더, 문서 및 텍스타일 인쇄 스캔 장비 등 고속 식별 장비 같은 산업 자동화 시스템에 주로 배치된다. 영상 비전 시스템에서 흔히 보이는 몇 가지 서브시스템 유형들은 TI의 DSP 덕을 볼 수 있다. 예를 들어, DSP 기반의 이미지 프로세서와 프레임 그래버는 소비전력이 낮아 이들 애플리케이션이 요구하는 광범위한 프로세싱 능력으로 스마트 카메라에 구현될 수 있다.
현대 산업 검사 시스템이 요구하는 프로세싱 능력 역시 증가 추세다. 주된 이유는 현대적 검사 시스템이 훨씬 더 많은 이미지 데이터 세트를 처리하고 훨씬 더 복잡한 알고리즘들을 실시간으로 수행하기 때문이다. 일반적으로 검사 시스템은 고해상도(메가픽셀)와 고 프레임률(초당 프레임)의 카메라 여러 대로 구성되며, 이 카메라들은 다량의 데이터를 스트림하여 처리한다. 이러한 용도의 최고급 단계에서는 깊이 카메라가 깊이 프로파일을 생성하고 입체 카메라가 지표 프로파일을 포착하면서 여러 대의 카메라가 전체 3-D 볼륨 데이터를 획득한다.

개요
최근 몇 년 동안, 검사 시스템 같은 영상 및 기타 산업 비전 프로세싱 애플리케이션의 프로세싱 요건들이 가파른 상승 곡선을 타고 있다. 실시간으로 처리해야 할 비전 지대도 크게 늘어났다. 비전 프로세싱 알고리즘의 복잡함도 기하학적으로 증가하였다. 높아진 해상도와 빨라진 초당 프레임 속도, 비전 프로세싱 알고리즘 결과에 기반하여 의사결정을 하는 비디오 분석학 등은 이러한 시스템의 원시 프로세싱 부하를 상승시키는 수많은 산업 비전 프로세싱의 단면들 중 몇 가지에 불과할 뿐이다. 그리고 이렇게 상승하는 부하들은 줄어들 조짐이 보이지 않는다.
TI는 다양한 범위의 마이크로프로세서와 싱글 코어, 멀티코어 DSP
(digital signal processors), SoC로 대처해왔다. 이들은 비전 시스템에 필요한 프로세싱 수준을 사실상 거의 전부 만족시킬 수 있다.
영상 비전 프로세싱 알고리즘 - 검사 시스템의 핵심은 다수의 영상 및 비전 처리 알고리즘들에 있다. 이 알고리즘들은 영상 개선 및 편성, 형태 연산, 특징 추출 및 검출 등 몇 가지 카테고리로 분류할 수 있다.

형태 연산 - 형태 연산은 이미지를 탐사하여 어떤 원소적 구조가 이미지에 얼마나 잘 맞는지 결과를 내놓음으로써 “구조 원소”를 구체화하는 비선형 연산이다. 형태 연산의 값으로 가장자리가 두꺼워지거나 얇아질 수도 있고, 큰 물체 안에서 작은 물체를 삭제할 수도 있으며, 끊어진 가장자리를 이을 수도 있고, 작은 구멍을 없애고 작은 간격들을 메울 수도 있다.

특징 추출과 검출 - 대부분의 특징 추출 및 검출 알고리즘으로 가장자리 검출, 선 추적, 물체 형태 분석, 분류 알고리즘, 템플릿 매칭 등이 있다. 가끔은 특징 추출 전에 이미지가 Fourier와 Wavelet 같은 서로 다른 영역으로 변환되기도 한다.

영상 시스템용 TMS320C6657
TI의 KeyStone 제품군에 최근 추가된 TMS320C665x 시리즈는 머신 비전 애플리케이션에 특히 적합한 성능들을 가지고 있다(그림 1). 비용과 전력에 민감한 애플리케이션의 경우, 두 개의 싱글코어 DSP인 TMS320
C6655와 TMS320C6654는 듀얼코어 TMS320C6657 DSP와 핀 대 핀 호환이 가능하다. 이들 디바이스를 대다수 영상 처리 애플리케이션에 적합하게 만드는 또 다른 특징은 -55~100 ℃까지 광범위한 온도 범위에서 연산이 가능해 장기적 생존과 활용이 보장된다는 점이다.

늘어난 프로세싱
대다수 산업 영상 처리 서브시스템은 기가헤르츠(GHz) 단위로 측정되는 프로세싱 코어 속도, MIPS(초당 백만 단위 명령어)로 측정되는 명령어 실행, MMAC(초당 백만 기준 곱셈/누적)로 측정되는 계산 처리, GFLOP(초당 십억 기준 부동소수점 연산)으로 측정되는 부동소수점 연산 등에서 고성능을 요구하고 있다.
TI의 TMS320C665x DSP는 산업 최고 성능의 고정소수점 및 부동소수점 DSP 코어, TMS320C66x 세대에 기반하고 있다. 각각의 코어가 1.25 GHz에서 실행되는 듀얼코어 C6657는 80 GMAC와 40 GFLOP의 처리 성능을 제공하는 효과적인 2.5 GHz DSP이다. 이 C66x 코어의 명령어 세트 아키텍처(instruction set archi
tecture, ISA)는 8-issue 머신에 기반하고 있다. 즉, 명령 파이프라인 11 deep와 64개의 내부 레지스터로 8개의 32비트 명령어를 실행할 수 있거나, 사이클 당 256비트의 VLIW(very long instruction word) 하나를 실행할 수 있다. 이것은 사이클 당 8개 싱글 정밀 부동소수점 MAC 연산을 실행할 수 있고, 이중 혼합 정밀 연산을 실행할 수 있다. 또한, C64x+ 고정소수점 DSP 코어와 비교했을 때, 이 C66x에 약 90개의 명령이 새로 추가됨으로써 부동소수점 및 벡터 수학 처리가 지원된다. C66x 코어의 원시 계산 성능은 산업 최고의 32 MACS/사이클과 16 FLOP/사이클이다. 이것은 이 코어가 1.25 GHz에서 40 GMAC/s과 20 GFLOP/s를 실행할 수 있다는 의미다.
부동소수점 처리는 C66x 코어의 다이내믹 레인지를 증가시킨다. 이것은 특정 이미지 처리 알고리즘에서 중요한 고려사항이다. C6657의 두 개 C66x 코어로, 시스템 설계자는 전체 시스템을 병렬 실행할 수 있고, 어떤 경우에는 개별 알고리즘도 병렬 실행하여 독립 연산들을 두 개의 코어에서 동시에 실행할 수도 있다. C6657의 코어 각각에는 L1 프로그램과 L1 데이터 캐시 256 KB(32 KB), 1 MB의 내부 L2 SRAM을 가진 내부 메모리 아키텍처가 있다. 이 SRAM을 파티셔닝하여 RAM이나 캐시 메모리로 구성할 수 있다. 시스템 안정성은 L1과 L2 온칩 메모리의 ECC (Error Correction and Checking)로 높아진다. 시스템 성능은 여러 레벨의 메모리 캐싱과 많은 양의 온칩 RAM을 담고 있는 프로세서 아키텍처로 크게 개선할 수 있다. 이미지 크기는 일반적으로 온칩 RAM 크기보다 훨씬 더 크기 때문에, 이미지 처리 시스템은 늘 큰 외부 RAM을 필요로 한다. 많은 양의 데이터를 효과적으로 외부 메모리에서 프로세싱 코어로 옮기려면 DSP의 프로세싱 코어에 고 대역폭 외부 메모리 인터페이스가 필요하다는 뜻이다.
공유 메모리 아키텍처는 멀티코어 DSP의 복수 코어들로 하여금 같은 이미지의 서로 다른 부분들을 병렬로 작업하게 하거나, 같은 이미지 데이터 부분에서 직렬로 서로 다른 처리 기능을 실행하도록 할 수 있다. 이런 종류의 공유 메모리 아키텍처와 코어 모두가 공유하는 지능적인 다이렉트 메모리 액세스 컨트롤러의 경우, 외부 메모리, 메모리가 맵핑된 주변장치, 온칩 메모리의 데이터를 명령 실행과 동시에 전송함으로써 성능을 크게 개선할 수 있다. 이것은 더블 버퍼링을 통해 이루어진다. C6657의 총 3M바이트 온칩 메모리는 처리 중인 이미지 부분들을 저장할 수 있다.
C6657은 세 개의 속도에서 작동할 수 있는 32비트 DDR3 외부 메모리 인터페이스를 가지고 있다. 800 MTS (mega-transfers per second, 초당 메가 전송), 1033 MTS, 1333 MTS가 그것이다. 이것은 또한 16비트 모드나 32비트 모드에서 작동할 수도 있다. 온칩 멀티코어 MSMC(Multicore Shared Memory Controller)는 어드레스 가능한 메모리 공간을 8기가바이트까지 확장하는 어드레스 번역 블록을 가지고 있다. DDR3 메모리 컨트롤러는 시스템 안정성을 높이는 ECC 기능을 가지고 있다. MSMC에서 외부 메모리를 위해 캐시 메커니즘 역할을 하는 프리페치 메커니즘(pre-fetch mechanism)을 통해 시스템 성능은 가속되고, 외부 메모리 액세스는 감소된다. 또한, 이 칩의 TeraNet 통신 스위칭 패브릭에서의 데이터 패킷 이동은 메모리 액세스를 통해 차단되지 않는다. MSMC는 각각의 코어로 하여금 온칩 메모리에 직접 액세스할 수 있게 함으로써 TeraNet을 완전히 회피하고 있기 때문이다.
대부분의 영상 시스템에서 온칩 메모리는 프로그램 코드와 데이터 전부를 저장하기에는 충분치 않다. 따라서 DSP 코어에는 외부 메모리, 내부 메모리, 주변장치, 가속기가 코드와 데이터를 서로 주고받는 효율적인 DMA 메커니즘이 반드시 있어야 한다. 하나의 독립 DMA 컨트롤러가 이 프로세싱 코어, 메모리, 가속기, 주변장치 인터페이스들 사이에서 프로세싱 코어의 개입 없이 데이터를 전송할 수 있다. 이런 식으로, DMA의 컨트롤 하에서 데이터 전송이 일어나고 있는 동안 프로그램 명령을 실행하는데 이 코어들을 전용할 수 있다. C6657에 구현된 DMA 중 하나는 EDMA3 (Enhanced Direct Memory Access-3) 컨트롤러로 알려져 있다. 이것은 외부와 내부 메모리들 사이의 데이터 이동, 다양한 데이터 구조의 분류 기능 또는 서브프레임 추출 기능, 이벤트 중심 주변장치 같이 소프트웨어 중심 페이징 전송을 서비스한다. 이것은 이 모든 기능에서 DSP 코어의 데이터 전송 부담을 덜어준다. C6627의 EDMA 채널 컨트롤러는 두 개의 어드레싱 모드(불변 어드레싱과 증분 어드레싱) 같은 성능 개선 기능들을 지원한다. 또한 이것은 3차원 어레이, 프레임, 블록으로 데이터를 전송한다. 이것의 연동 메커니즘은 프로세싱 코어의 개입이 없는 핑퐁 버퍼링, 순환 버퍼링, 반복/연속 전송을 허용한다. EDMA는 큐 워터마킹, 스레스홀드, 에러 및 상태 레코딩, 기타 등등에 대해 디버그 가시성을 가지고 있다. 또한 C6657은 별도의 독립 DMA 컨트롤러라는 DMA 메커니즘도 가지고 있어서 온칩 RAM과 L1 프로그램 및 L1 데이터 캐시 사이에서 데이터와 코드를 전송한다.
TI의 KeyStone 아키텍처에서 또 다른 성능 개선 요소는 멀티코어 내비게이터이다. 이것은 8,192개의 메시지 큐와 메시지 전송용 6개의 Channeled
-DMA 채널을 가진 혁신적인 하드웨어 기반 패킷화 메시지 전송 메커니즘이다. 이들 큐들 중 하나에 메시지가 오면, 멀티코어 내비게이터는 하드웨어 가속기를 사용해 해당 하드웨어에 필요한 작업을 발송한다. 멀티코어 내비게이터는 초고속 IPC (Inter-Process Communication)와 주변장치/가속기 인터페이싱이 가능하기 때문에, 이 디바이스의 소프트웨어 아키텍처를 크게 단순화할 수 있고, 이들 기능에 대한 프로세싱 코어의 개입을 줄일 수 있다.

고속 커넥티비티
C6657 DSP는 영상 및 영상 처리 서브시스템을 연결하는 다양한 옵션들을 가지고 있다. 대다수 영상 시스템에는 CameraLink 같은 한 가지 이상의 아날로그나 디지털 인터페이스가 필요하다. 엄선된 고속 serdes (seria
lizer/deserializer) 인터페이스들을 이용해, 설계자는 프로세싱 시스템을 FPGA에 연결할 수 있다. 그런 다음 FPGA가 이미지 캡처 서브시스템에 연결된다.
C6657의 하이퍼링크, 50 GB/s serdes 인터페이스는 한 가지 이상의 이미지 센싱 구성요소나 카메라에서 이미지 데이터를 DSP 메모리로 가져올 때 이용할 FPGA에 초고속 인터페이스를 제공한다. 하이퍼링크의 낮은 프로토콜 오버헤드와 높은 처리량은 이것을 칩대칩 인터커넥션에 이상적인 인터페이스로 만들어준다. 하이퍼링크는 C6657을 그 단짝 칩이나 다이, 예컨대 C667x 디바이스나 다른 C665x DSP에 직접 링크할 수 있다. 하이퍼링크와 멀티코어 내비게이터는 작업이 실행될 연결 장치에, 마치 로컬 리소스에서 실행되고 있는 것처럼 투명하게 그 작업을 전송할 수 있다. 이것은 스위칭 패브릭 레벨에서 DSP들 사이에 접속성을 제공해준다.
SGMII Gigabit Ethernet 같은 기타 고속 인터페이스는 고속 네트워크 접속을 제공한다. C6657은 임베디드 시장을 목표로 하는 높은 성능과 낮은 핀 수의 인터커넥트, Serial RapidIO (SRIO v2.3)와 네 개의 레인(5 Gbps/lane) 인터페이스를 가지고 있다. 특정 보드 설계에서 인터커넥트 기술로 SRIO를 배치하면, 레이턴시가 낮아지고 패킷 프로세싱의 오버헤드가 줄어들고, 시스템 대역폭이 증가하여 시스템 비용이 감소될 수 있다.
또한 C6657은 두 개 레인의 PCI Express(PCIe) Gen Ⅱ를 가지고 있다. 이것은 C6657과 PCIe-규격 디바이스를 위한 인터페이스 기능을 할 수 있다. 또한 PCIe 백플레인에 꽂힌 PCIe 보드를 인터페이싱 하는데 사용될 수도 있다. PCIe 인터페이스는 낮은 핀 카운트, 높은 안정성, 고속의 인터페이스로 레인당 5 Gbps, 즉 두 개 링크에서 총 10 Gbps이다.
C6657의 또 다른 인터페이스 모듈, SPI(Serial Peripheral Interface)는 DSP와 SPI 규격 디바이스 사이에서 인터페이스 역할을 한다. 이 모듈의 주된 용도는 시스템 부팅을 위해 프로세싱 코어들을 읽기 전용 메모리에 연결하는 것이다. EMIF16(External Memory Interface)와 I2C(Inter-Integrated Circuit) 포트는 DSP 코어들과 NAND/NOR 플래시 또는 EEPROM 같은 외부 메모리들을 위해 또 다른 인터페이스를 제공하고 있다.



평가 모듈과 소프트웨어
AMC 폼팩터 카드에서 한 개의 C6657 DSP와 함께 저가의 EVM (Evaluation Module)을 사용할 수 있다. 하이퍼링크 인터페이스는 자체 커넥터에 라우팅되고, Gigabit Ether
net, SRIO, PCIe 같은 다른 인터페이스들은 에지 커넥터에 라우팅된다.
C6657은 TI의 통합 소프트웨어 및 하드웨어 개발 툴 세트, Code Composer Studio™(CCS) 통합 개발 환경을 통해 지원된다. CCS에는 컴파일러, 소스 코드 편집기, 프로젝트 빌딩 환경, 디버거, 프로파일러, 시뮬레이터, 그외 수많은 코드 개발 기능들이 모두 들어 있다. 또한 이 기능들은 멀티코어 소프트웨어 개발 및 디버깅을 지원하도록 강화됐다. 예를 들어, CCS의 컴파일러는 유명 오픈소스 멀티코어 프로그래밍 프레임워크, OpenMP를 지원한다. CCS 통합 개발 환경은 대다수 임베디드 소프트웨어 벤더가 사용하는 오픈소스 소프트웨어 프레임워크, Eclipse에 기반하고 있다. CCS와 몇 개의 개발 에뮬레이터는 AET(Advanced Event Trigg
ering) 같은 C6657의 하드웨어 디버깅 기능들을 활용하고 있다. 이것으로 코드에 하드웨어 분기점을 넣을 수도 있고, Trace Buffers로 코드 실행을 추적할 수도 있다. 주된 에뮬레이션 인터페이스는 IEEE 1149.1 JTAG이다. TI의 코드 컴포저 스튜디오와 몇 개의 제3자 툴들은 개발자가 애플리케이션 소프트웨어를 시작, 개발, 디버깅하기 쉽도록 해준다.
이러한 개발 툴 외에 소프트웨어 빌딩 블록 포트폴리오도 사용할 수 있다. TI의 멀티코어 소프트웨어 개발 킷(MCSDK)은 인터코어 및 인터칩 통신에 효율적인 멀티코어 통신 레이어, SYS/BIOS와 통합된 검증필 최적화 드라이버, 실시간 운영체제(RTOS), 리눅스 지원 등을 예시와 함께 담고 있는 통합 소프트웨어 개발 플랫폼을 개발자에게 제공하고 있다. 그림 2는 MCSDK의 세부 도해이다.
이미지 처리 기능을 위한 몇 가지 라이브러리들도 C6657에서 사용할 수 있다. 이 라이브러리 한 가지가 IMGLIP이다. 이것은 이미지/비디오 처리에 최적화되어 C로 작성된 함수 라이브러리이다. 이것은 C 호출이 가능하고, 어셈블리 최적화된, 다목적 이미지/비디오 처리 루틴들 다수의 소스코드를 포함해 70개 이상의 함수로 구성되어 있다. 이 루틴들은 최적 실행 속도가 매우 중요한 계산 집약적 실시간 애플리케이션에 주로 사용된다. 이 루틴들은 표준 ANSI C 언어로 작성된 같은 양의 코드보다 실행 속도를 훨씬 더 빠르게 해준다. 또한, 사용 준비된 DSP 기능을 제공함으로써 IMGLIP는 이미지/비디오 처리 애플리케이션의 개발 속도를 크게 단축시킬 수 있다.
IMGLIB에 들어 있는 풍부한 소프트웨어 루틴 세트는 다음과 같이 세 가지 기능 카테고리로 구성되어 있다.

- 압축 및 압축 해제
- 포워드 및 인버스 DC
- 동작 평가
- 양자화
- Wavelet 프로세싱
- 이미지 분석
- 경계 및 주변 평가
- 형태 연산
- 가장자리 검출
- 이미지 히스토그램
- 이미지 스레스홀딩
- 이미지 필터링 및 포맷 변환
- 이미지 회선 (Image Convolution)
- 이미지 상관관계
- 중앙값 필터링
- 컬러 공간 변환
- 에러 발산
- 픽셀 확장

이 기능들 외에도 더하기, 빼기, 곱셈 등과 같은 간단한 연산 수행에 22개의 저레벨 커널 세트를 사용할 수 있다. 이들은 더 복잡한 커널을 개발하기 위한 출발점이 된다.
VLIB(Video Analytics & Vision Library) 같은 다른 라이브러리는 40개 이상의 로열티 무상 커널들로 구성되어 있다. 이것은 비디오 분석 개발을 가속화시키고 성능을 10배 증가시킨다. VLIB는 C66x DSP 코어에 최적화된 확장형 라이브러리이다. 이것은 로열티 없이 객체 형식으로 이용할 수 있다. 이 컬렉션으로 다음을 수행할 수 있다: 

- 배경 모델링과 추출
- 객체 특징 추출
- 추적과 인식
- 저레벨 픽셀 프로세싱

VLIB는 다음의 애플리케이션에서 확장형 토대가 된다:

- 비디오 분석
- 비디오 감시
- 자동차 비전
- 임베디드 비전
- 게임 비전
- 머신 비전
- 소비자 전자제품

또한 MCSDK에는 이미지 프로세싱 애플리케이션에서 SYS/BIOS, OpenMP, IMGLIB, 기타 등등 다양한 컴포넌트들의 기능을 보여주는 예제 애플리케이션(그림 3)도 들어 있다.

TI, Miracast 지원 휴대용 기기 통합 솔루션

TI는 Wi-Fi 얼라이언스 Wi-Fi 디스플레이 규격(Wi-Fi Alliance Wi-Fi Display Specification)에 기반한 Wi-Fi 인증의 Miracast를 지원할 수 있도록 설계된 휴대용 기기용 통합 솔루션을 제공한다고 발표했다. Miracast는 무선랜으로 디스플레이 신호를 보내는 새로운 공식 인증 규격이다. 이 솔루션을 통해 사용자들은 보안성능이 우수하고 레이턴시가 낮은 무선 네트워크 연결을 통해 휴대형 기기에서 대형 화면으로 풀 HD 콘텐츠를 신뢰성 높게 디스플레이 할 수 있다. Wi-Fi 얼라이언스의 Miracast 인증 프로그램은 P2P Wi-Fi Direct 무선 네트워크 상에서 비디오 및 오디오 콘텐츠를 스트리밍하기 위한 표준 기반 솔루션을 정의하고 있다. 이것은 휴대전화 및 태블릿, HDTV, 프로젝터, 오디오 수신기 등을 포함하는 Miracast 기기들 간의 상호 연동성을 유일하게 보장한다. TI의 제품들은 선도적인 OMAP 플랫폼의 저전력 멀티미디어 프로세싱 및 M-Shield 콘텐츠 보안 성능을 견고한 WiLink 연결 제품 라인들과 함께 활용하고 있다. 또한 이들 디바이스들은 Miracast 인증을 위해 설계된 최적화된 솔루션을 제공하며, 올 연말 제공될 예정이다. 이 솔루션은 현재 대량생산 OEM 및 ODM에게 제공되고 있다. TI는 올 연말 OMAP 5 프로세서 및 WiLink 8.0 솔루션을 사용한 Miracast용 솔루션을 제공할 계획이다. OMAP4470 프로세서와 WiLink 7.0 커넥티비티 솔루션을 이용한 최신 TI 기반 Miracast 시연은 지난 6월 5일부터 9일까지 개최되는 컴퓨텍스 타이페이의 부스 TICC 101D에서 전시됐다.

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP