THine Value 펌웨어 코딩 없이 ISP의 성능을 끌어내다!카메라 개발 키트 GUI 툴 설명

2018.11.29
  • 기사
  • 칼럼
이미지 센서를 탑재한 전자기기에서는 영상처리 등을 담당하는 이미지 시그널 프로세서(ISP)의 사용이 필수적이다. 이때 과제가 되는 것이 ISP용 펌웨어의 개발이다. 본 연재의 1회에서는 ISP용 펌웨어 개발의 현상을 소개하는 것과 동시에, 그 개발이 안고 있는 과제 해결을 위한 자인 일렉트로닉스의 대처를 소개했다. 당사가 제공하는 「카메라 개발 키트(CDK:Camera Development Kit)」를 사용하면, 그 과제를 해결할 수 있다. 연재의 2회가 되는 이번에는, 카메라 개발 키트의 구성요소의 하나인 GUI 툴, 「THine Tuning Tool」, 통칭 「3T」에 대하여 자세하게 설명한다. 이것을 사용하면, 카메라나 영상처리에 관한 지식만 있으면, 임베디드 펌웨어 개발의 경험이 없어도 ISP용 펌웨어를 개발할 수 있게 된다.

CDK의 장점은 크다

자인 일렉트로닉스가 제공하는 「카메라 개발 키트(CDK)」는, 당사의 ISP 칩 「THP7312」의 펌웨어 개발을 위한 것. 프레임 그래버 보드(Frame Grabber Board)나 ISP 칩을 탑재한 보드, 이미지 센서를 올린 헤더 보드와 같은 하드웨어에, 펌웨어 라이브러리와 소스 코드로 이루어진 소프트웨어 개발 키트(SDK), SDK를 커스터마이즈하기 위한 GUI 툴 「THine Tuning Tools(3T)」로 구성되어 있다.(Fig.1).

즉, 하드웨어, 소프트웨어 개발 키트, GUI 툴이라는 3가지 구성 요소를 사용하여, ISP용 펌웨어를 개발한다. 개발 담당에 의하면, 「소프트웨어 개발 키트를 제공하는 ISP 칩 벤더는 있어도 거기에 하드웨어와 GUI 툴을 더한 3가지 구성 세트를 제공하는 벤더는 지금까지 없었다(*)」하고 한다.(*개발 착수 시점)

이 3가지 구성 세트 중에서도 특히 유저 메리트가 큰 것이 GUI 툴이다. GUI 툴을 Install한 PC 상에서 수치를 입력하거나 풀다운 메뉴 중에서 항목을 선택하거나 하는 것만으로, 펌웨어를 자동적으로 생성할 수 있기 때문이다. 펌웨어의 개발비를 대폭 줄일 수 있는 동시에 개발 기간을 단축할 수 있다. 게다가 카메라(광학계)나 영상처리에 관한 지식만 있다면 임베디드 펌웨어의 전문 엔지니어를 준비할 필요가 없다.
 
장점은 그 밖에도 있다. 펌웨어를 간편하면서도 단시간에 생성할 수 있기 때문에, 화잘에 관한 실험/테스트를 반복해 실행하거나 성능이 다른 카메라 모듈을 시험하거나, 광학 렌즈를 교환하거나, 적외선(IR) 컷 필터의 효과를 확인하거나 하는 카메라 개발의 본질적인 작업에 개발 시간을 충당할 수 있게 된다.

10개의 Configurator를 준비

그럼, GUI 툴 「3T」에 대하여 자세하게 살펴보자(Fig.2).
이 GUI 툴의 최대 역할은 화질의 최상화이다. 연재 제1회에서도 언급한 대로, 이미지 센서로 촬영한 영상 데이터는 그대로는 불완전하다. 이 때문에, 그 영상 데이터에 다양한 처리를 할 필요가 있다. 그것을 실현하는 것이 Configurator이다. 종래에는 ISP용 펌웨어의 프로그램 코드를 직접 기술해야만 했지만, GUI 툴을 사용하면 PC 상의 간단한 조작만으로 ISP용 펌웨어를 자동 생성할 수 있다.

Configurator는 10개 준비했다. 그것들을 하나하나 간단하게 살펴보자.

1번째는, 「AE: Register Configurator」이다. 이 Configurator는, 자동노광(Auto-Exposure)의 조정을 담당하는 것. 밝은 화상으로 할까, 어두운 화상으로 할까와 플리커 대책 등의 기본 파라미터를 설정할 수 있다.

2번째는, 「AE: Threshold Configurator」이다(Fig.3).

이 Configurator도 자동노광에 관한 것이다. 헌팅 대책 등을 위해 AE의 추종성 등을 설정할 수 있다.

3번째는, 「AE: Window Configurator」이다. 이것도 자동노광에 관한 것이다. 5종류의 측광 범위를 조합하여 AE를 실행할 수 있다(Fig.4).

구체적으로는 한장의 영상을 8×6의 영역으로 구분해서 가중치를 설정하거나 임의의 영역에서 측광하거나 할 수 있다. 예를들면, 포트레이트와 같은 영상이라면, 중앙부의 밝기를 중시하는 설정이 가능하게 된다.

4번째는, 「AE: Diagram Configurator」이다. 이것은 게인과 셔터 스피드(실제로는 역수의 노광시간)를 피사체의 밝기에 대비하여 다이아그램으로 설정하는 것이다. 게인과 노광시간은 Trade off의 관계에 있다. 노광시간을 짧게 하면 손떨림에 강해지지만, 게인을 높게 할 필요가 있기 때문에 노이즈가 커진다. 한편으로 노이즈를 억제하기 위해서 노광시간을 길게 하면 움직임에 약해진다. 따라서, 용도에 따라서는 1개의 다이아그램만을 선택하는 것이 어렵다. 그래서, 이 Configurator에서는 3개의 모드를 등록할 수 있는 구조를 준비했다. 노이즈를 억제한 화질 우선 모드나, 고속의 피사체를 촬영하는 흔들림 방지 모드 등을 등록할 수 있다.

5번째는, 「AWB/IQ: Register Configurator」이다. 노이즈 리덕션이나 샤프니스에 관한 설정을 담당한다. 노이즈 리덕션에 대해서는 ISP 칩에 하드웨어의 필터를 준비하여, 자동설정이나 수동설정을 선택할 수 있다. 샤프니스에서는 촬영한 영상의 윤곽 강조도를 설정한다. 포트레이트는 윤곽을 확실히 하지 않지만, 문자가 많은 영상에서는 선명하게 하는 설정이 가능해진다. 이 밖에 화이트 밸런스, Tone Map, OB(Optical Black), 결함보정 등의 조정도 실행할 수 있다.

세밀한 색조정이 가능

6번째는, 「AWB/IQ: AWB Configurator」이다. 3개의 광원하에서 EVB(Evaluation Board)를사용하여 균일면(18% 그레이 등)의 RAW 영상을 촬영하고, 화이트 밸런스의 파라미터를 자동 조정한다.

7번째는, 「AWB/IQ: Color Configurator」이다. 이것은 문자 그대로 컬러(색)에 관한 Configurator이다. 3개의 광원마다 컬러 매트릭스나 채도와 색상마다 미세 조정을 설정할 수 있다(Fig.5).
 
특징은, 「축으로 설정할 수 있기 때문에, 세밀하게 조정할 수 있다는 점」(자인 일렉트로닉스)이라고 한다. 카메라의 목적에 맞는 화면 만들기에 이용할 수 있다.

8번째는, 「AWB/IQ: Shading Configurator」이다. 일반적으로 광학 렌즈+이미지 센서에서는 중앙에서 테두리로 가면 갈수록 수광하기 어려워지는 특징이 있다. 그래서 아무 것도 보정하지 않으면 중앙부는 밝고, 밖으로 가면 갈수록 어두워진다. 그런데 렌즈 쉐이딩 Configurator에서는, AWB Configurator에 입려한 3가지 광원하의 균일면 RAW 데이터를 입력하는 것만으로, 사용하는 광학 렌즈에 맞춘 쉐이딩 파라미터를 자동 생성한다. 어느 정도 밝게 할지는 사용자가 설정할 수 있다.

9번째는, 「AWB/IQ: Tone map Configurator」이다. 일반적으로 감마 보정이라 불리는 조정을 담당하는 Configurator다. 영상의 계조에 대한 출력 특성을 지정한다. 복수의 감마 커브를 설정하여 구분해서 쓸 수 있다. 사용자가 좋아하는 「화상 맞춤」을 실현할 수 있다.

10번째는, 「AWB/IQ: Gain Based Parameter Configurator」이다. 이 Configurator는 설정한 게인의 값에 따라 NR(Noise Reduction), 샤프니스 외 채도나 색상의 강조도를 조정하는 것이다. 예를들면, 게인이 높기 때문에 노이즈가 많은 어두운 촬영 조건에서는 NR 강도를 높게 설정하는 것으로 노이즈를 억제하는 반면 게인이 낮을 때는 NR 강도를 낮게 설정해 해상도를 유지할 수 있다.
 

Configurator의 활용 방법

10개의 Configurator를 사용하면, 어떤 설정이 가능할까? 어플리케이션이 다른 2가지 경우를 예로 들어보자.

하나는 산업용 머신비전에서의 예이다. 제어 보드에 탑재한 좌우와 상하의 LSI의 실장 상태를 테스트하는 경우를 생각한다. 2개의 LSI 재질이 다른 경우 어느 한쪽에 노출을 맞추면 다른 한쪽이 노출 부족이거나 노출 과다이거나 한다. 그래서 3번째에 소개한 Configurator인 「AE Window Configurator」를 사용한다. 우선 좌상(左上)의 LSI 실장부에 노출을 맞추어 촬영하고, 다음으로 (右下)의 LSI 실장부에 노출을 맞추어 촬영한다. 이렇게 함으로써 필요한 부분이 선명한 영상을 취득할 수 있게 되어, 실수가 없는 테스트를 실행할 수 있게 된다.

또 하나는, 디지털 미러나 미용 카메라에서의 예이다. 얼굴 사진에서 피부의 색감은 나라마다 취향이 다른다. 거기서 7번째에 소개한 「Color Configurator」를 사용하여 취향의 색감이 나오도록 설정하는 것이다. 이렇게 「화면 만들기」를 함으로써, 디지털 카메라의 상품 가치를 높일 수 있게 된다.

I/O 설정 등 편리한 기능도 준비

GUI 툴에는 10개의 영상 조정용 Configurator 외에 편리한 기능으로 I/O Configurator와 드라이빙 모드 Configurator를 준비했다.

I/O Configurator는, ISP 칩의 입출력 신호 설정에 관한 것이다(Fig.6). 
ISP 칩에는 입력 I/F가 2종류이며, MIPI CSI-2신호 또는 Parallel 신호의 입력이 가능하다. 한편, 출력 I/F는 3종류이며, MIPI CSI-2 신호, 8Bit의 Parallel 신호, 16Bit의 Parallel 신호에 대응한다. 따라서, 앞단과 후단의 디바이스에 맞춰 선택한 신호 형식대로 입력/출력 단자의 기능을 설정할 필요가 있다. 이번에 준비한 I/O Configurator를 사용하면, PC 화면 상에서 간단하게 설정할 수 있다.

드라이빙 모드 Configurator는, 이미지 센서의 영상 사이즈나 프레임 레이트에 맞춰 ISP 칩 내부의 Clock 주파수 I/F의 비트 레이트 등을 자동 설정하는 기능이다. 「THP7312」는 최대 1600만 화소(16M 화소)까지 대응 가능하다. 프레임 레이트는 화소 사이즈마다 최대 30fps(4K2K)나, 120fps(1080p), 240fps(720p) 등에 대응한다. 화소 사이즈와 프레임 레이트를 선택하면, 자동적으로 ISP 칩 내부의 Clock 주파수가 설정된다. 또한 복수의 드라이빙 모드를 등록하는 기능도 준비했다. 「4K2K, 30fps 모드」나 「Full HD, 60fps 모드」 등을 등록할 수 있다.

이번에는 GUI 툴, 3T, THine Tuning Tool에 탑재한 Configurator에 대하여 자세하게 설명했다. 어느 Configurator도 이미지 센서를 탑재한 머신 비전이나 감시 카메라, 디지털 카메라 등의 어플리케이션에 대해 큰 효과를 발휘할 것이다. 다만, GUI 툴 「3T」를 대상으로 하는 어플리케이션은 그 뿐만이 아니다. 이미 「XR 대응기기」를 위한 기능을 실장했다. 다음회(3회)에서는, 그 기능에 대하여 자세하게 설명하는 동시에, 카메라 개발 키트의 차세대 전략을 소개한다.

(계속)