ADAS용 ISP 시장을 위한 ARM의 도전 – Mali-C71

ARM사는 프로세서 설계 및 라이센싱으로 널리 알려졌지만 Mali GPU를 비롯하여 System-on-Chip(SoC) 설계에 필요한 on-chip interconnect(NIC/CCI), 메모리 컨트롤러, 동영상 코덱, 디스플레이 컨트롤러 등 다양한 IP를 제공하는 회사이기도 합니다. 자동차용 Advanced Driver Assistance System(ADAS) 탑재와 관련된 시장이 점점 커지면서 지난 4월 말 드디어 ARM에서도 Mali-C71이라는 ADAS용 Image Signal Processor(ISP)를 새로 발표하였기에 간단히 소개해보려 합니다. 참고로 ISP는 이미지 센서로 부터 받아들인 신호를 노이즈 제거, 화이트 밸런스 보정, 색공간 변환등의 작업을 거쳐 영상분석 또는 디스플레이 출력에 적합한 포맷으로 변환하는 역할을 합니다.

 

ARM Mali-C71의 구조 (출처 – https://developer.arm.com/products/graphics-and-multimedia/mali-camera)

 

먼저 위의 그림은 ARM사 홈페이지에서 가져온 Mali-C71 ISP의 블록 다이어그램 입니다. ISP의 가장 기본이 되는 Demosaic, Auto Exposure, Auto White Balance 모듈 등을 비롯하여 ISP를 구성하는 다양한 모듈을 탑재하고 있는데 공개된 스펙을 살펴보면 아래와 같습니다.

  • 최대 4개의 이미지 센서 입력 동시 처리 및 16개 이미지 센서 입력의 시분할 처리
  • 300개 이상의 결함 감지 회로에 기반한 문제 발생시의 즉각적인 탐지
  • 24 스톱(24-bit)의 다이나믹 레인지를 지원하여 밝은 태양으로 부터 어두운 그림자까지의 영상 정보를 모두 처리

주요 스펙들과 블록 다이어그램을 살펴보면 Mali-C71은 스마트폰 등을 고려한 ISP가 아니라 자동차의 탑재용 ADAS를 고려한 ISP임을 바로 알 수 있는데 위의 스펙들을 바탕으로 하나씩 이유를 살펴보도록 하겠습니다.

센서 입력

일단 4개의 센서 입력을 동시에 받아들일 수 있는점은 차량의 전,후,좌,우 방향으로 4개의 카메라를 설치하는 상황을 고려한 것으로 보입니다. AnandTech의 기사에 따르면 Mali-C71이 초당 최대 1.2G 픽셀을 처리할 수 있다고 하는데, 이를 바탕으로 추측해보면 4개 센서 입력의 동시 처리를 위한 4개의 ISP 파이프라인과 여기에 더해 16개의 센서 입력에 대해 시분할로 사용할 수 있는 ISP 파이프라인 1개가 추가로 있어 총 5개의 ISP 파이프라인이 탑재된 것으로 보입니다. Mali-C71의 최대 동작속도가 240MHz가 된다면 채널당 240MPixel/s를 처리할 수 있고 5개의 채널을 모두 합하면 1.2Gpixel/s의 성능을 달성하게 되지요. 센서 입력의 최대 해상도는 4096×4096 픽셀로 프레임당 16M 픽셀이 되는데 채널당 240Mpixel/s의 처리 성능을 고려하면 최대 해상도에서 채널별로 초당 15프레임까지 처리가 가능할 것으로 보입니다. 2017년 5월 현재 판매되는 최신 스마트폰의 경우 12M 픽셀영상을 초당 30프레임 까지 녹화할 수 있어 360Mpixel/s 정도의 처리성능이 요구되는 점을 감안하면 Mali-C71이 상당히 고성능의 ISP임을 알 수 있습니다.

Mali-C71이 지원하는 컬러필터 어레이의 종류

지원하는 센서의 포맷에서도 ADAS적용을 고려했다는 사실을 알 수 있는데 눈여겨 볼 점은 RGGB의 Bayer 패턴 이외에도 RCCC 및 RGBIr 센서를 지원한다는 점입니다. ADAS에 채용되는 카메라의 경우 야간주행 상황에서도 영상을 확보해야하기 때문에 되도록 빛을 많이 받아들이는 것이 중요합니다. 위의 그림과 같이 기존 Bayer 패턴의 경우 색을 구분하기 위해서 빨간색, 초록색, 파란색의 빛만을 통과시키는 컬러필터를 사용하는데 특정 색만을 통과시키는 과정에서 일어나는 빛의 감쇄가 어두운 상황에서 선명한 영상을 얻기 어렵게 합니다. 이를 피하기위해 ADAS 분야에서는 신호등의 적신호를 구분하는데 중요한 빨간색 이외에는 컬러필터를 없앤 RCCC(C는 clear를 의미) 패턴이 사용되거나 밝기와 상관없이 영상 정보를 얻을 수 있는 IR (Infrared, 적외선) 픽셀을 탑재한 센서가 사용되기도 합니다. 이외에도 Mali-C71은 Bayer 패턴에서 G를 C로 바꾼 RCCB, RCCB에서 B를 G로 바꾼 RCCG 패턴 또한 지원합니다.

ASIL D 인증을 고려한 설계

차량에 탑재되는 시스템의 경우 만에 하나 오작동이 발생한다면 사고와 인명손실을 유발할 수 있기 때문에 높은 수준의 안전성을 보증하는 것이 중요합니다. 이를 위해 ISO(International Organization for Standards)에서는 2011년에 차량에 탑재되는 전기/전자 장비와 소프트웨어가 안전을 보증하기 위해 지켜야할 개발/생산/서비스 프로세스 및 탑재해야 할 기능에 대한 표준인 ISO-26262을 발표했습니다. ISO-26262에는 다시 세부적으로 문제가 일어날 가능성, 심각성, 문제가 발생했을 때의 조정성에 따라 Automotive Safety Integrity Level(ASIL) 등급을 A 부터 D까지 부여하는데 ASIL 등급에 따라 ISO-26262에서 지켜야할 항목들이 변하게 됩니다. Mali-C71의 경우 ASIL 등급 중 가장 엄격한 등급인 ASIL D 인증을 위해 필요한 기능과 개발 프로세스 관련 문서를 제공한다고 합니다.

ASIL D 인증을 위한 기능과 프로세스 (출처 – http://www.anandtech.com/show/11293/arm-announces-mali-c71-automotive-isp)

내용을 좀 더 자세히 살펴보면 Mali-C71에는 300개 이상의 결함 감지회로, 지속적인 self-test 수행, 결함 발생과 관련된 인터럽트 처리를 위한 컨트롤러 등의 기능이 탑재되어 있어 이미지 센서나 ISP 자체에 문제가 생길 경우 바로 문제를 알아차릴 수 있다고 합니다. 또한 ISP로 부터 모든 메모리 읽기/쓰기는 CRC로 체크가 되어 ISP 설정값이나 영상 데이터가 잘못될 가능성을 차단하고 있습니다. 이에 더해 이미지 센서의 데드/핫 픽셀 정보를 제공하는 pixel consistency image plane 메타데이타를 제공하여 영상 처리 및 분석시에 잘못된 값을 사용하지 않도록 방지합니다. ISP 자체 기능이외에 이러한 결함 방지 기능을 추가하는 것은 개발에 많은 노력이 들기 때문에 중소 업체가 ADAS시장에 진입하는데 큰 장벽이 되고 있는데 Mali-C71을 사용한다면 개발에 대한 부담이 조금은 줄어들지도 모른다는 생각이듭니다.

Wide Dynamic Range 지원

ADAS의 경우 자동차가 밝은 대낮에 터널에서 나오는 순간이나 석양을 마주하는 순간에도 영상을 통해 상황을 계속 인식해야 하므로 넓은 다이나믹 레인지를 확보하는 것은 아주 중요한 기능입니다. Wide Dynamic Range(WDR)은 화면상에 아주 밝은 부분과 아주 어두운 부분이 동시에 있을 때 밝은 부분과 어두운 부분이 모두 잘 보이도록 2장 이상의 장노출/단노출 영상을 합성하는 기술입니다. 밝은 부분에 대한 정보는 단노출 영상으로부터 얻고 어두운 부분에 대한 정보는 장노출 영상으로부터 얻는 것이지요. Mali C-71의 블록 다이어그램의 왼쪽 상단 부분을 보면 WDR 구현을 위한 Sequencer와 Multi-Exposure Stitching 모듈이 탑재되어 있습니다.

CMOS 이미지 센서의 경우 한 프레임 전체를 동시에 찍지않고 센서 상단부터 하단까지 시간차를 두고 한줄씩 촬상하는 특징을 가지는데(rolling shutter), WDR을 지원하는 CMOS 센서의 경우 장노출/단노출 영상의 시간차를 최대한 줄이기 위해 첫번째 프레임의 촬상이 센서하단까지 진행하기 전에 다음 프레임의 첫줄의 촬상을 시작합니다. Sequencer 모듈의 경우 CMOS 센서로 부터 뒤섞여 입력되는 장노출/단노출 영상을 메모리상에 독립된 프레임으로 분리하여 저장하기 위한 모듈로 보입니다.

Mali-C71 ISP의 경우 픽셀당 최대 24-bit(24 스톱)의 밝기 단계를 지원하는데 일반적인 CMOS 센서의 경우 픽셀당 14~16-bit의 밝기 단계를 가집니다. Multi-Exposure Stitching 모듈은 Sequencer가 분리한 장노출/단노출 두 장의 이미지를 합성하여 픽셀당 24-bit의 밝기 단계를 가지는 한장의 이미지를 만들어 내기위한 모듈로 보입니다. ARM에서 자세한 자료를 공개하지 않아 확신을 가지고 말씀드릴 수 없는점이 아쉽네요.

Mali-C71의 WDR 지원 (출처 – http://www.anandtech.com/show/11293/arm-announces-mali-c71-automotive-isp)

시선을 블록 다이어그램의 상단 중간으로 옮기면 High Dynamic Range(HDR) 모듈이 있는데 24-bit의 밝기단계를 디스플레이나 영상처리에 적합하도록 8-bit 밝기단계로 변환하는 작업을 합니다. 단순히 24-bit중의 하위 16-bit을 버리거나 밝기 단계의 일부만을 취하는 방식으로 변환하는 것이 아니라 화면의 영역별로 영상 정보가 가장 잘 드러날 수 있도록 24-bit의 밝기단계 중의 일부를 가변적으로 취해 밝기 단계를 압축하거나 펼쳐서 8-bit 밝기단계로 대응시키는데 이 작업을 tone mapping이라고 합니다. 위의 슬라이드는 단순히 24-bit 단계중 일부를 취해 8-bit 밝기 단계로 변화하는 경우와 (빨간색), tone mapping을 통해 24-bit 전체 밝기 단계를 8-bit 밝기 단계로 변환하는 경우(초록색)의 결과 비교를 보여주고 있습니다.

마무리

아직은 공개된 자료가 적어 ADAS와 관련된 특징만을 바탕으로 Mali-C71을 간단히 살펴봤습니다. 개인적으로 언급하고 싶은 부분은 요즘의 ISP는 메모리 대역폭 사용량을 줄이기위해 영상 압축을 많이 사용하는데 공개된 자료만으로는 압축을 사용하는 것 같지는 않습니다. 압축된 영상 데이터의 일부에 문제가 발생한다면 그 영향이 압축되지 않았을 때 보다 크기 때문에 신뢰성을 우선하여 사용하지 않았을 거라는 추축을 해 봅니다. AnandTech의 기사에 의하면 이미 Mali-C71을 적용한 샘플칩을 테스트하고있는 회사가 있다고 하는데, Mali-C71을 탑재한 SoC와 이를 이용해 만든 ADAS모듈이 ISO-26262 인증을 받고 그 후에 개발중인 차량에 탑재되어 여러 시험 및 품질인증 과정을 거치는 시간등을 감안하면 Mali-C71 ISP가 탑재된 차량이 시장에 등장하는 것은 최소 3~4년 후가 될 것 같습니다. 개인적으로는 그 전에 새로운 추가 정보가 나오기를 기대해 봅니다.

 

You may also like...

3 Responses

  1. 원재 댓글:

    좋은 글 잘 읽었습니다. 거꾸로 질문을 해봅니다. 그럼 요즘 차량에 탑재된 Smart Cruse Control (정속 주행, 차선이탈 경고 등)은 어떤 회사의 어떤 Chip을 쓰는 건가요??

    • 골수공돌이 댓글:

      어떤 지동차회사가 어떤 반도체회사의 칩을 쓰는지는 잘 모르지만 얼마전에 인텔에 인수된 모빌아이나 NXP 정도의 회사에서 ADAS용 칩을 판매하는걸로 알고 있습니다.^^

  2. 지나가다가 댓글:

    대다수의 회사가 모빌아이칩을 씁니다

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다