FPGA




비디오 애플리케이션의 큰 다양성은 고정된 구조의 프로세서를 끼워 넣지 않는 ASSP 디바이스에게는 도전과제이다. DSP 프로세서와 래티스 ECP3 같은 FPGA 디바이스는 다른 비디오에 의해 요구되는 다른 비디오 기능을 지원하기위해 요구되는 유연성을 가지고 있다.

 

글 : Asher Hazanchuk
래티스 반도체 / www.latticesemi.com



복잡성을 쫓는 마켓 트랜드




비디오 카메라와 디스플레이 마켓에서 여러 가지 중요한 트랜드는 비디오시스템의 증가되는 복잡성을 주도하는 것과 어떻게 FPGA가 이러한 복잡성의 많은 도전과제를 극복할 수 있는지를 강조하는 것이다. 이러한 트랜드는 다음과 같다.

1. 비디오카메라와 디스플레이 마켓은 SD(standard-definition) 비디오 표준인 NTSC, PAL과 VGA에서 HD(high definition) 비디오 표준인 HD720, HD1080, QXGA와 QSXGA까지 변화의 정점에 있다.

2. 마찬가지로 프레임 레이트는 일반적인 SD 비디오를 위한 초당 25 또는 30 프레임에서 HD 비디오를 위한 초당 50 또는 60 프레임까지 증가되었다. 비디오 품질의 저하 없이 빠르게 움직이는 물체를 잡기 위한 120 또는 240fps가 필요로 하는 HD 비디오 애플리케이션도 있다.

3.  의료 영상, 머신 비전, 고품질의 자동차 비디오 감시 장치와 같은 일부 애플리케이션은 HDR(high dynamic range) 픽셀 해상도를 요구한다. HDR은 일반적으로 8비트에서 20비트까지 각각의 픽셀을 높이는 해상도를 요구한다.

4.  멀티 카메라 시스템은 멀티 센서 카메라에 요구되는 여러 애플리케이션에서 현재 일반적으로 사용된다. 멀티센서 카메라는 비디오 감시 장치와 180°나 360°의 광각 카메라 시야를 지원하기 위해 자동차용 애플리케이션에서 이미지 스티칭을 위해 사용된다.

5. 비디오 감시 애플리케이션에서 분석이 필요한 거대한 양의 비디오 데이터로 인해 일부 자동차 애플리케이션에 필요한 빠른 응답, 자동 비디오 분석 기능이 필요하다. 비디오 분석은 생명을 구할 수 있는 자동차의 애플리케이션과 비디오 감시 애플리케이션의 운영 비용을 줄인다.

6. 거대한 양의 전송과 저장이 필요한 멀티 카메라 고해상도 비디오 정보는 낮은 비트 전송률, 실시간 비디오 압축 알고리즘을 요구한다.

이러한 6개의 마켓 트랜드는 비디오 시스템 요소에서 누적된 중요한 부분을 포함하고 있다. 

 

-비디오 시스템처리 능력을 요구
-비디오 인터페이스의 호환성
-필수 메모리 엑세스 대역폭
-기능적 유연성 요구 사항

 

비디오 시스템 처리 능력의 요구사항



비디오 시스템 처리 능력 요구가 증가하는 주요한 이유 중 하나는 비디오 프레임 해상도 증가이다. 그림 1은 서로 다른 비디오 표준의 해상도를 보여준다.



그림 1은 SD(standard definition)인 NTSC(720*480= 0.35MP), PAL(768*576= 0.44MP), 과 VGA(640*480= 0.31MP)에서 새로운HD(high definition)인 HD720(1280* 720=0.92MP), HD1080(1920*1080= 2.07MP), QSXGA (2560*2048=5.24MP)까지 프레임 해상도의 큰 도약을 보여준다. 프레임당 픽셀 수는 15 이상의 요소에 의해 증가한다. 일부 비디오 카메라는 30 또는 25fps에서 고속 비디오 켑쳐를 위해 좀더 좋은 지원을 제공하는 60 또는 50fps까지 프레임 속도를 높일 수 있다.



고해상도 카메라는 향상된 프레임 해상도를 활용할 수 있는 많은 새로운 애플리케이션을 사용할 수 있다. 예를 들면 고해상도는 먼 거리로부터 얼굴 인식을 가능하게 한다. 카지노에 설치된 고해상도 카메라는 사기를 막는데 도움이 된다. 상점과 은행의 출납계원 위에 설치된 고해상도 카메라는 다른 종류의 지폐를 식별한다. 도로위에 설치된 카메라가 자동차번호판 번호를 읽는다.



이것이 새로운 비디오 표준을 지원하는 높은 비디오 해상도 프레임을 활용하는 새로운 응용 프로그램의 몇 가지 예제이다. 그림 2에서 카메라와 디스플레이 파이프라인 블록 다이어그램을 설명한 것과 같이, 기능적으로 복잡해졌다. 비디오 분석 블록은 새로운 기능을 지원하기 위해 시스템에 추가된 새로운 블록이다.

 

2차원 FIR 필터, 에지 검출, DeBayer 5 * 5(HQ) 및 2차원 스케일러 등과 같은 기본적인 블록은 비디오의 품질 저하를 방지하기 위해 더 많은 처리와 정교한 알고리즘을 사용해야 한다. 비디오 시스템의 처리 능력 요구사항은 높은 프레임 해상도의 15가지 요인과, 프레임 레이트의 증가 원인의 2가지 요인과, 증가된 기능적인 복잡성의 2가지 요인 때문에 증가하는 것일 수도 있다. 모든 증가의 누적 효과는 60개의 요소를 위한 합계일 수 있다. 예를 들면, 30fps의 NTSC 비디오는 픽셀당 필요한 운영의 0.35MP × 30fps × 3colors = 31.5 메가 픽셀의 처리 능력을 요구 한다.



보다 일반적인 경우에서 픽셀 당 작업에 필요한 수는 픽셀 당 10에서 100 사이로 추정된다. 그런 까닭에 저사양의 비디오 애플리케이션을 위해 31.5M × 10 = 315MHz의 처리능력이 필요하고, 고사양의 비디오 애플리케이션을 위해 315M × 100 = 3.15GHz가 필요하다. DSP 프로세서는 저사양 비디오 애플리케이션을 커버 할 수 있다. 고사양 비디오 애플리케이션은 오직 래티스 ECP3와 같은 FPGA나 ASIC에서 병렬 처리 능력을 필요로 한다.



60fps인 QSXGA의 고화질 비디오 예제와 향상된 고화질 기능은 위에서 언급한 NTSC 경우보다 60배 높은 처리능력을 요구한다. 그런 까닭에 이러한 HD 비디오 처리능력을 예를 들면 60 × 315MHz = 18.9GHz에서 60 × 3.15GHz = 189GHz 사이 일 것이다.



결론은 DSP 프로세서의 처리 능력은 저사양의 표준 해상도 비디오 애플리케이션을 위해 충분하지만, 고해상도 비디오 표준은 DSP 프로세서의 능력을 넘는 애플리케이션의 대부분에서 압력을 가하고 있다. 따라서, 고화질 비디오 애플리케이션의 처리 능력 요구 사항의 대부분은 FPGA 또는 ASSP에서 지원해야 한다.

 

비디오 호환성 인터페이스



다양한 비디오 인터페이스와 디지털 인코딩과 디코딩 형식이 있으며 그것은 매우 구체적인 DSP 프로세서 또는 ASSP에 대한 모든 인터페이스를 다른 응용 프로그램에서 다른 업체들을 위해 사용하기 위해 모두 지원하기가 어렵다. 래티스 ECP3 같은 FPGA는 다른 비디오 표준 또는 디지털 포맷 간의 변환기나 다리 역할을 위해 매우 유용하다. 일반적인 비디오 표준은 다음과 같다.


-Digital Visual Interface(DVI)
-Dual DVI
-High Definition Multimedia Interface(HDMI)
-Serial Digital Interface(SDI)
-7 => 1 LVDS
-HDbaseT
-Display Port
-IEEE 1394 "Fire wire"
-V by One
-MIPI

 

비디오 품질에 영향을 최소화하면서 비디오 비트 스트림에서 데이터의 양을 줄이는 것을 돕는 일부 디지털 디코딩 / 인코딩 형식이 있다. 일반적인 디지털 인코딩 / 디코딩 형식에는 are 4:4:4(전체 해상도), 4:2:2, 4:1:1, 4:2:0 이 있다. 비디오 형식의 일부는 인터레이스가 있으며, 일부는 non-interlaced인 프로그레시브가 있다. 래티스 ECP3 같은 FPGA는 인터레이스와 non-interlaced 비디오 형식 사이에서 서로 다른 디지털 디코딩 / 인코딩 형식 간의 다리 역할을 할 수 있다.

 

필요한 메모리 엑세스 처리량



많은 비디오 애플리케이션에서 특히 위의 그림 2에서 보여주는 것과 같이 다중 처리 능력만이 중요한 자원이 되지는 않는다. 비디오 애플리케이션에서 메모리 엑세스 처리량은 시스템 설계자가 극복하기 위해 필요한 중요한 도전과제 중의 하나이다. 일반적인 비디오 시스템에서 많은 처리 장치는 비디오 파이프라인의 다른 기능을 각각 하나하나 수행하는 것과 병렬로 동시 처리하는 것이 있다. 각각의 처리 장치는 입력 메모리로부터 그것의 입력 데이터를 받고, 출력 메모리에게 그것의 출력을 보낸다. 때때로 중간 결과를 처리하기 위해 중간 메모리도 필요하다.



프로세서의 데이터 버스에 존재하는 대용량 메모리 블록의 전통적인 프로세서 메모리 구조는 메모리 액세스에 심각한 병목현상을 유발 할 수 있다. 다른 처리 단위는 이 공통의 메모리를 액세스하기 위해 경쟁할 것이며 곧 모든 메모리 액세스 대역폭을 소비 할 것이다.



DSP 프로세서 시스템 설계자는 DMA 인터페이스가 소비하는 I/O 핀 수를 줄이기 위해 고속의 직렬 DMA 엔진을 사용하며 이 문제를 극복하기 위해 독립적인 DMA 엔진을 개발했다. 이러한 접근법의 문제는 각각의 시스템이 서로 다른 비디오 알고리즘이나 기능을 형성하는 다른 처리 단위를 요구하는 것이다. 이것은 그것들이 얼마나 많은 것이 필요한지, 수행하기 위해 무슨 기능이 필요한지, 데이터 스트림의 정확한 토폴로지가 무엇인지 예측하기가 매우 어렵다는 것이다.



ASSP는 FPGA나 DSP 프로세서의 유연성을 가지고 있지 않다. 그런 까닭에 ASSP 시스템 구조는 그들의 시스템에서 기능적 유연성을 달성하기 위해 한 개 또는 여러 개의 프로세서를 삽입할 수 있다. 그러나 ASSP에서 임베디드 프로세서는 그것과 함께 이전에 언급했던 모든 메모리 액세스 대역폭의 처리를 제한시킨다.



FPGA는 비디오 시스템을 위한 최적의 토폴로지로 변경하는 것을 위해 이상적이다. FPGA는 100개의 블록 메모리와 훨씬 많은 디스트리뷰트 메모리 자원을 가지고 있으며, 래티스 ECP3와 같은 FPGA로 구현할 때의 메모리 액세스 처리량은 언급할 필요도 없을 정도로 높다.



기능적 유연성 요구사항



다른 비디오 시스템은 다른 비디오 알고리즘과 비디오 기능의 실행이 필요하다. 비디오 시스템의 기능적인 요구사항의 큰 변화로 인해, 이러한 다양한 애플리케이션을 충당하기 위해 일반적인 ASSP로 정의하는 것이 매우 어렵다. 결과적으로, 비디오 ASSP 디바이스는, 그들의 이름이 암시하듯이, 응용 프로그램에 종속되는 경향이 있다.


H.264, MPEG2, MPEG4와 같은 비디오 압축을 위한 비디오 ASSP 장치가 있다. 특정 디스플레이 인터페이스를 드라이브 하는 ASSP 디바이스도 있다. 그럼에도 불구하고 여전히 일반적인 DSP 프로세서와 FPGA가 하고 있는 애플리케이션의 넓은 스펙트럼을 커버하는 ASSP 디바이스를 위해서는 아직까지 도전적이다.



결론



아래는 어떻게 DSP 프로세서, ASSP와 FPGA가 비디오 마켓의 새로운 트랜드의 도전 과제를 할 수 있는지에 대한 요약이다. 새로운 비디오 표준과 향상된 기능은 크게 비디오 시스템의 필요한 처리 능력을 높일 수 있다. 높은 프레임 해상도, 높은 프레임 속도, 매우 복잡한 기능, 멀티 센서, HDR 및 압축 알고리즘은 모두 높은 처리 성능 요구 사항에 기여한다. 오직 FPGA와 ASIC는 하이엔드 미래의 비디오 요구 사항을 만족하기에 충분한 처리 능력을 가지고 있다.



래티스 ECP3 FPGA 제품군은 높은 처리량과 고속 처리 능력 비디오 애플리케이션에 이상적인 케스케이드 된 이중 곱셈 DSP 슬라이스 구조를 개척했다. 그림 3은 ECP3 DSP 슬라이스의 유연한 구조를 보여준다. 완전한 2차원(2D) FIR 필터는 높은 처리량과 높은 처리 능력을 보장하기 위해 래티스 ECP3 DSP를 슬라이스 행 내부에 구현할 수 있다. 따라서 중요한 비디오, 비디오 분석 및 이미지 센서 프로세서와 같은 2D FIR, 2D 스케일러, 에지 검출, 디베이어, 비디오 인핸서 및 콘트라스트 엠파시스는  래티스 ECP3 DSP 슬라이스를 이용해 가속화 시킬 수 있다.



래티스 ECP3는 9 × 9 멀티플라이어와  9 × 9 멀티플라이어  어큐물레이터를 지원하며,  2D FIR 필터의 기능 용량과 8비트 픽셀에서 동작하는 다른 비디오 기능을 배로 늘릴 수 있다. 다양한 비디오 인터페이스와 디지털 인코딩 / 디코딩 포맷이 있다. 래티스 ECP3같은 FPGA는 다른 표준과 포맷 간의 컨버터나 다리 역할을 하기에 가장 적합한 디바이스 이다.



메모리 액세스 대역폭은 많은 비디오 애플리케이션을 위한 중요한 과제이다. 래티스 ECP3의 수백의 독립적인 메모리 블록과 많은 디스트리뷰티드 메모리 자원은 유연한 토폴로지 비디오 아키텍처에 이상적이다. FPGA는 다른 처리 단위 에서 요구하는 로컬 메모리를 완벽히 지원하는 데에 충분한 유연성이 있다.


그림 1. 비디오 표준 해상도

그림 2. 카메라와 디스플레이 파이프라인

그림 3. ECP3 DSP 슬라이스 블록 다이어그램

표 1. 미래의 비디오 트래드를 위한 지원
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지