THine Value FPGA에는 의지하지 않는, ISP용 펌웨어의 자동 생성 툴을 개발

2018.08.31
  • 기사
  • 칼럼
영상을 촬영하는 반도체 디바이스 「이미지 센서」. 디지털 카메라나 스마트폰, 자동차 등 각종 전자 기기에 탑재되고 있다. 그러나, 이미지 센서만으로는 충분한 기능을 다하지 못한다. 영상 처리를 담당하는 「이미지 시그널 프로세서(ISP)」와의 병용이 필요 불가결하다. 여기서 문제가 되는 것은 ISP 펌웨어 개발의 난이도가 매우 높다는 점이다. 이 문제를 해결하고자 자인일렉트로닉스는 「카메라 개발 키트(CDK)」의 제공을 시작하고 있다. 이번 회는, CDK 개발의 배경과 채용했을 경우의 효능 등에 대해서 해설한다.

이미지 센서에는 ISP가 불가결

이미지 센서가 응용 범위를 넓히고 있다. 디지털 카메라나 스마트폰은 물론이고, 자동차나 감시 카메라, 산업용 머신 비전, 실물 화상기(visualizers), WEB 회의 시스템, 의료용 전자 기기, AR(증강 현실)과 VR(가상 현실), MR(복합 현실)과 같은 XR 대응 기기 등에서도 탑재가 급속도로 진행되고 있다.

이러한 전자 기기에 이미지 센서를 장착할 때에 필요 불가결한 것이 「이미지 시그널 프로세서(ISP)」이다. 왜냐하면, 이미지 센서에서 촬영한 영상 데이터는 그대로는 「불완전한 화면」이기 때문이다. ISP를 사용하여 노이즈를 제거하거나 밝기를 조정하거나 피사체의 초점(포커스)을 맞추거나 하는 등의 처리가 필요하다. 구체적으로는 디모자이킹(Debayer)나 노이즈 리턱션, 자동 노출(AE), 자동 초점 등의 처리이다. 이러한 처리를 함으로써 「완전한 화면」을 만드는 것이다(Fig.1).
그래서, 전자 기기에 이미지 센서를 탑재하려면 그것에 최적인 ISP를 선택하고, 채용하는 작업이 필요하다. 다만, 탑재하는 전자 기기에 따라 ISP의 형태는 다르다. 스마트폰이면 다수의 경우 모바일 단말 전용 칩셋 안에 집적된 ISP 기능을 이용한다. 단일 IC를 채용하는 경우는 적다. 그 외의 전자 기기에서는 단일 ISP 칩 또는 IP 코어화된 ISP를 실장한 FPGA를 채용하는 것이 일반적이다.

사용 방법은 어렵다

어느 형태의 ISP를 채용하든 그것을 사용하는 것은 결코 간단하지 않다. 「완전한 화면」을 만들려면 다양한 파라미터를 최적값으로 설정하기 위한 펌웨어를 개발할 필요가 있기 때문이다. 그것에는, 소프트웨어나 카메라(광학계), 영상 처리 등에 관한 깊은 지식이 필요하다. 보통 방법으로는 해결이 안된다.

대기업 스마트폰 업체이면 ISP를 집적한 모바일 단말 전용 칩셋을 대량으로 구입하기 때문에 칩셋 벤더로부터 많은 지원을 받는다. 이 때문에 펌웨어의 개발은 결코 높은 벽이 되지 않는다.

그런데 중견 이하의 스마트폰 업체나 산업 기기용 머신 비전 기기 업체, 감시 카메라 업체 등에게는 펌웨어 개발은 매우 높은 벽이다. 칩셋이나 ISP 칩의 구입 수량이 적기 때문에, 많은 지원을 기대할 수 없기 때문이다.

물론 칩셋이나 ISP 칩을 제공하는 반도체 업체에 펌웨어 개발을 의뢰할 수도 있다. 그러나 당연히 개발비를 부담해야 한다. 그 비용은 결코 적지 않다. 「구입 수량이 연 100만개를 넘는 어플리케이션이라면 개발비를 흡수할 수 있지만, 연 10만개 정도면 그 개발비는 무거운 부담이 된다」(자인 일렉트로닉스)라고 한다.

FPGA를 채용해도 사태는 호전되지 않는다. 펌웨어를 스스로 개발할 수 밖에 없는 점은 같기 때문이다. 게다가 ISP 코어 벤더의 지원은 거의 기대할 수 없다. FPGA의 경우는 필요한 처리 내용에 맞춰 회로를 커스터마이즈하고, 하드웨어로 장착하는 대응책도 있다. 그러나, 이 경우는 하드웨어에 관한 높은 기술력이 필요하다. 일반적으로 전자 기기 업체에는 소프트웨어 기술자들에 비해서 하드웨어 기술자들이 적기 때문에, 반드시 해결책이 된다는 법은 없다.

펌웨어를 자동 생성

이런 문제를 해결하기 위해 ISP 칩 업체인 자인 일렉트로닉스는 당사의 ISP 칩 「THP7312」를 위한 CDK(카메라 개발 키트)의 제공을 시작했다.

CDK는 하드웨어와  펌웨어 개발용 GUI 툴 「Thine Tuning Tool」, 펌웨어 템플릿의 3가지로 구성된다. 하드웨어의 내역은 THP7312를 탑재한 ISP 보드와 프레임 그래버(Frame Grabber), 이미지 센서를 내장한 카메라 모듈을 올린 헤더 보드이다(Fig.2).

GUI 툴은 컴퓨터 상에서 동작하는 어플리케이션이다. 컴퓨터 화면상에서 메뉴에 따라 수치를 기입하거나, 풀 다운 메뉴 중에서 파라메터를 선택하는 것 만으로, 템플릿을 자동적으로 갱신하여 필요로 하는 펌웨어를 새로 개발하는 구조이다(Fig.3). 펌웨어 개발의 전문적인 지식은 거의 필요 없다. 이 때문에, 적은 비용으로 개발할 수 있는 동시에 개발 기간을 대폭 단축할 수 있다.
현재, ISP 칩을 제공하는 반도체 업체들은 다수 존재하지만, 펌웨어 개발을 위한 GUI 툴을 제공하고 있는 업체는 거의 없다. 「간이 툴을 제공하는 반도체 업체는 있지만, 당사의 GUI 툴에 비하면 실행할 수 있는 것에는 큰 차이가 있다」(자인 일렉트로닉스). FPGA에서도 상황은 비슷하다. 「ISP 코어를 제공하는 벤더에서 펌웨어 개발용 GUI 툴을 제공하고 있는 곳은 당사가 아는 한 존재하지 않는다」(자인 일렉트로닉스)고 한다.

그러므로 현시점에서 ISP 칩 「THP7312」와 CDK의 조합은 중견 이하의 스마트폰 업체나 산업 기기용 머신 비전 기기 업체, 감시 카메라 업체, XR 대응 기기 업체 등에 있어서는 최선의 선택지라고 말할 수 있을 것이다. 즉, 이제 FPGA에 의지할 필요가 없어진다. 그 결과, 소비 전력의 절감과 프린트 기반 상의 실장면적의 소형화라는 장점도 얻게 된다. ISP 코어를 탑재하려면 비교적 하이엔드의 FPGA가 필요했기 때문이다. 강한 소형화가 요구되는 XR 대응 기기 등에는 희소식이 아닐 수 없다.

CDK에 포함된 GUI 툴의 기술적인 상세나 그 이용 방법 등에 대해서는 다음회 이후에서 상세하게 설명한다.

(계속)
 
※Fig 보중설명
(Fig.1 ISP에서 처리한 후의 영상)
왼쪽이 ISP에서 처리하기 전의 영상. 오른쪽이 처리한 후의 영상이다. 각 화소에 1색씩 RAW
데이터에서 각 화소에 RGB 3색씩 처리되고, 나아가 노이즈가 제거되고 있다. 밝기나 초점도 ISP가 컨트롤하고 있다.