THine Value 4K 30fps비압축 영상신호 출력가능, i.MX 8M Family용Linux카메라 키트 발매

2021.11.04
  • 기사
  • 칼럼
카메라를 탑재하는 전자기기가 급속하게 늘고있다. 스마트폰이나 태블릿, 산업기기, 의료기기, 자동차, 시큐리티기기, 교육기기, 드론등 셀수없이 많은 기기들이 등장하고 있다. 하지만, 카메라라고 해도 전자기기마다 요구하는 사양이나 성능, 가격이 전혀 다르다. 화질보다 가격을 우선시 하는 전자기기도 있고, 개발이 수월한것을 우선시하는 전자기기도 존재한다. 또한, 고화질 영상의 리얼타임 표시가 필수인 전자기기나, 초화질을 요구하는 전자기기도 있다.
카메라를 탑재하는 전자기기가 급증하는 트랜드에 발맞춰, 자인일렉트로닉스는 USB 인터페이스 통해 영상신호를 전송하는 「UVC(USB Video Class)」에 준거하는 4K 해상도의 카메라 개발키트「THSCU101」20216월에 발매하게 되었다.
소위「UVC카메라라고 하는것이다. 전용 드라이버소프트웨어를 준비할 필요없이 PC에 접속하는것만으로 카메라에서 촬영한 영상을 디스플레이에 표시해줄수 있다.
이로 인해, 카메라를 탑재한 전자기기의 PoC(Proof of Concept)를 손쉽게 실현할수 있어, 많은전자기기 메이커로부터 호평을받고있다」(영업부 프로덕트매니저Kuwayama Katsumi
앞서 말한바와 같이 카메라 용도는 폭 넓어지고 있고, 카메라에 대한 요구 또한 다양화 되어가고 있다. 그러다보니, UVC카메라 만으로는 카메라에 대한 모든 전자기기의 요구를 충족하기는 힘들다. 무엇인가 추가적인 대응책이 요구되고 있는 이유다.

MIPI CSI-2로 출력한다

자인일렉트로닉스의 다음 제품은 무엇일까? 20218월에 4K해상도로 초당 30프레임의 영상신호를 비압축으로 출력하는 카메라개발키트「THSCM101」를 발매하였다. (그림1)
「UVC카메라 보다 좀더 전문가를 위한 제품이며, 동사는 「Linux카메라로 칭하고 있다.

 
그림1.  발매한 Linux카메라

UVC카메라는 「PC만 있으면 즉시 사용가능하다라는 커다란 메리트가 있는 반면한가지 과제도 있다. 그것은, PC와 연결하는 USB인터페이스의 대역폭이다.
UVC카메라에 있어서, 영상신호의 출력 인터페이스로서 이용되는 USB 3.2규격은, 데이터 전송속도가 초당 5기가비트, 또는 10기가비트로 높은편이지만, 실제 데이터 전송 속도는 그 1/3정도밖에 얻을수가 없다. 게다가 그 대역폭마저 보증이 되는것도 아니다. 이 때문에 이 UVC카메라에서는 4K 30fps영상신호를 비압축으로 전송할수 없어 JPEG형식으로 압축하여 보냈다. 하지만, JPEG 디코더 처리는 일반적인 PCCPU에서는 리얼타임 으로 실행할수 없기 때문에 끊김현상이 발생한다. 이 때문에 고화질 영상을 리얼타임으로 표시를 요구하는 용도로는 UVC카메라의 이용이 쉽지 않았다. 예를들면, 공장창고점포등의 감시카메라, 산업용AR(확장현실카메라, 의료수술용 카메라 , 교육용 카메라등의 용도등이다.

그로인해 Linux카메라에서는, 영상신호의 출력형식을 변경하였다. 구체적으로는, MIPI CSI-2신호형식이다. 카메라 키트의 보드에 CMOS이미지센서나 화상처리 프로세서 ISP를 탑재하여, 이 화상처리 프로세서로부터 비압축의 YUV422신호를 MIPI CSI-2신호로 보드외부로 출력을 하게 되는것이다. 그림2
 
그림2 Linux카메라 보드

MIPI CSI-2신호는 4레인구성이며, 1레인당 데이터 전송속도는 초당 1.2G비트로 높다.
, 4레인 합계 데이터 전송속도는 초당 4.8G비트에 달한다. 이것은 4K 30fps영상 신호전송에 필요한 초당 4.75G비트를 상회하기 때문에, 비압축 상태로 영상신호를 전송 가능하게 하였다. 1)
 
대응하는 영상의 해상도

드라이버는 간단히 실장가능

MIPI CSI-2신호를 받는 전송처로 사용할수 있는것은 네델란드 NXP semiconductors64비트프로세서(SoC)「i.MX 8M/i.MX 8M Mini」를 탑재한 싱글보드컴퓨터이다. OS로는 Linux OS를 사용할수 있다. 이것이 Linux카메라로 칭하게 된 이유이기도 하다.
여기서 신경이 쓰이는것은 드라이버소프트웨어 이다. UVC카메라에서는 전용의 드라이버소프트웨어를 준비할 필요가 없으며, 유저가 준비해야 할 작업이라고는 UVC카메라와 컴퓨터를 USB케이블로 연결하는것뿐이었다. 하지만, Linux카메라에서는 전용의 드라이버소프트웨어를 준비하여, SoC에 실장하지 않으면 영상신호를 전송할수 없다. 이 실장작업이 너무 힘들다면 Linux카메라의 유저는 소수에만 국한되었을것이다.
자인일렉트로닉스에서는 전용 드라이버소프트웨어를 SoC에 간편하게 실장하는 방법을  준비하였다. 우선은, 전용 드라이버소프트웨어의 소스코드를 동사가 개발하여, 그것을 유저에 제공한다. 또한, 이 소스코드를 Linux OS와 합쳐서 컴파일한후 SoC에 실장하는 일련의 작업에 대해서는 스타트 가이드가 준비되어있다. 표시된 순서대로 작업하면, 누구라도 간단하게 전용 드라이버소프트웨어를 SoC에 실장할수 있게 된다.

오토포커스로는 PDAF를 채용

발매한 카메라 개발키트는 CMOS이미지센서와 화상처리 프로세서(ISP)등을 실장한 보드와 mini-SAS케이블로 구성된다. CMOS이미지센서로는 UVC카메라와 동일한 소니세미컨덕터 솔루션의「IMX258」을 채용하였다. 화소수는 약1300만 화소(4224×3192)이며, 최대 프레임속도는 초당 30프레임이다. ISP는 자인일렉트로닉스 THP7312-P를 채용하고 있으며, MIPI CSI-2신호의 1레인당 데이터 전송속도는 초당 최대 1.2G비트로 높다. UVC카메라에서 채용한 ISP「THP7312」1레인당 초당 최대1.0G비트였다.
보드사이즈는 35mm×55mm×1.2mm로 작다. 또한, Linux카메라와 싱글보드컴퓨터
간의 접속가능한 거리는 수십cm정도이다.

오토포커스 기능은 일반적인 콘트라스트방식에 위상차 검출방식(PDAF:Phase Detection Auto Focus)이 더해졌다. 기존의 콘트라스트 방식에 비해 짧은시간에 포커스를 맞출수 있습니다. 4K30fps영상의 비압축 전송이 가능하고, PDAF를 이용한 고화질 카메라 개발키트 제품화는 업계최초이다.
촬영영상/화상의 밝기나 콘트라스트등은 Linux OS가 준비한 카메라용 커맨드「V4L2 (Video for Linux ver.2)」를 사용하여 조정할수 있다. 렌즈의 쉐이딩이나 디모자이크, 톤매핑등과 같은 미세한 화질의 커스터마이즈에 대해서는, 자인 일렉트로닉스가 제공하는 ISP용 카메라 개발키트(CDK)를 사용할수 있다.
이외에도, CMOS이미지센서를 내장한 카메라 모듈의 개체차를 조정하는 기능등이 탑재되어 있다. 일반적으로 카메라모듈은 CMOS이미지센서나 렌즈특성에 편차가 있기 때문에 색감이나 밝기, 렌즈의 쉐이딩특성등이 개체마다 다르다. 카메라모듈의 특성을 측정하고, 그 결과로부터 구해지는 보정계수를 카메라모듈에 내장한 EEPROM에 써넣으면, 시스템 기동시에 ISP가 이 데이타를 읽어들여, 출력된 영상/화상신호를 보정함으로서, 카메라 모듈의 개체차 편차를 억제시킬수 있다.

대응하는 싱글보드・컴퓨터를 확충

이번에 발매한 카메라 개발키트(Linux카메라는 이미 미국 Digi-Key Electronics사의 인터넷 온라인 판매가 시작되었고, 가격은 약 28000엔이다.구입은 여기에서
금후, 자인일렉트로닉스는 MIPI CSI-2신호가 전송될곳으로서 이용가능한 싱글보드컴퓨터의 종류를 확충하는 계획을 세우고 있다. 현재, 검토하고 있는것은 NXP Semiconductors64비트프로세서「i.MX 8M Nano/i.MX 8M Plus」를 탑재한 싱글보드컴퓨터나, 미국 NVIDIA사의 싱글보드컴퓨터「Jetson」등이다.