당신이 기업에서 첨단 프로젝트의 기술 책임자라고 가정해 보자. 비전이 명확하고, 아이디어는 승인을 받았고, 일정도 좋아 보인다. 문제는 핵심 부품 2개를 연결해야 하는데 이들 부품이 I/O 인터페이스가 달라서 서로 통신할 수 없다는 것이다. 이 때문에 일정이 지체되고, 마감 일정을 넘기게 되고, 이들 부품이 서로 작동하도록 하기 위해서 상당한 자원을 투입해야 한다. 일이 골치 아파지는 것은 말할 것도 없고 비용도 크게 증가한다.
안타깝게도 이런 문제는 첨단 기술을 다루는 엔지니어들에게 너무나 흔하게 일어난다. 역사에 길이 남을 위대한 제품을 개발하고자 할 때 결코 일어나지 않기를 바라는 일이 바로 이처럼 부품들이 상호동작 하지 않아서 개발 일정이 중단 또는 지체되거나, 최악의 경우 프로젝트가 실패하는 것이다.
기술 발전에 따른 혁신의 가속화로 인해 소비자 가전 시장은 끊임 없이 새로운 모습으로 변화하고 있다. 오늘날에는 매일마다 새로운 종류의 디바이스들이 소개되고 있을 정도다. 지난 10년 사이 스마트폰, 태블릿, 전자책 같은 기기들이 새롭게 등장했는데, 이러한 추세는 지금도 멈추지 않고 계속되고 있다. 최근 가장 화제가 되고 있는 것은 가상 현실(VR)과 증강 현실(AR)이다. 특히 헤드 마운트 디스플레이(HMD)에 대한 관심이 고조되고 있으며 전통적인 하드웨어 제조사와 소셜 네트워킹 기업을 비롯한 다양한 분야의 회사들이 이 시장에 뛰어들고 있다.
▲ 소비자 가전 시장은 끊임 없이 진화하고 있으며 계속해서 새로운 디바이스들이 등장하고 있다.
이처럼 경쟁이 치열한 새로운 시장에서 남보다 앞서기 위해서는 크기, 속도, 가격대, 소비전력, 출시일정에 대한 요구를 충족해야 한다. 서로 다른 표준과 프로토콜을 브리징하고 이질적인 부품들을 연결할 수 있는 툴을 잘 활용할 수 있다면 개발자는 인터페이스 조건에 맞추느라 제품 설계를 양보할 필요 없이 자신이 원하는 설계를 위해 최적의 부품을 마음껏 선택할 수 있을 것이다.
사람들의 마음을 사로잡을 수 있을 만큼 성공적인 VR/AR을 구현하려면 많은 기술들을 한 데 합쳐야 한다. VR 분야에서 핵심 하드웨어는 HMD와 컨트롤러이다. 이를 착용해야 VR을 체험할 수 있다. 고성능 저전력 FPGA와 ASSP의 발전으로 설계자가 꼭 필요로 하는 설계 유연성을 제공할 수 있게 되었으며, 이로써 특정 용도 칩을 제각각 개발하는 것에 비해 시간과 비용, 자원을 크게 절약할 수 있다. 이는 센서, 비디오 디스플레이, 시스템 연결을 비롯한 VR/AR의 모든 측면을 아우른다.
가상 현실(VR)
가상 현실(virtual reality)은 용어에서 알 수 있듯이 현실에 대한 인지를 가상의 것으로 대체한 것이다. 이를 위해서 VR은 주로 사용자의 시각과 청각을 대상으로 한다(촉각 피드백에 대한 연구도 점점 늘어나고 있다).
VR이 몰입적이기 위해서는 감각들을 효과적으로 대체해야 한다. 이를 위해 헬멧이나 밀폐형 고글에 이어폰을 조합한 기기들이 주로 사용된다. 이들 장치들을 합쳐서 흔히 HMD라고 한다. 이름과 달리 HMD는 디스플레이만 있는 것이 아니다. 대부분의 VR 하드웨어 기술 개발이 이러한 장치들을 중심으로 이루어지고 있다. HMD를 작동하기 위해서 어떤 프로세서 또는 디바이스를 사용하느냐, HMD로 전원을 어떻게 공급하느냐에 따라 다양한 유형의 HMD 제품들이 출시돼 있다.
선을 사용해서 PC/콘솔과 연결
선을 사용해서 PC/콘솔과 연결된 HMD는 기본적으로 HMD가 모니터를 대신하고 PC/콘솔은 모든 프로세싱 성능을 제공한다. 이러한 예로는 오큘러스(Oculus)의 리프트(Rift)와 HTC의 바이브(Vive), 소니(Sony)의 플레이스테이션 VR(Playstation VR)을 들 수 있다.
모바일 VR 헤드셋
모바일 VR 헤드셋은 스마트폰을 헤드셋에 장착하여 디스플레이와 프로세싱 엔진의 역할을 하도록 한다. 컨트롤러는 유닛 안에 내장하거나 헤드셋과 함께 제공될 수 있다. 비교적 경제적인 가격대와 단순성, 스마트폰의 폭넓은 보급에 힘 입어 모바일 헤드셋은 현재 가장 인기 있는 VR HMD로 자리잡고 있다. 삼성 기어 VR과 구글의 데이드림 뷰(DayDream View)가 모바일 VR 헤드셋의 대표적인 예이다.
모바일 AIO(all-in-one)
모바일 AIO 헤드셋은 프로세서, 디스플레이, 배터리를 통합함으로써 ‘올인원’ 독립형 VR 디바이스를 제공한다. 배터리 전원을 이용하고 온보드 프로세서를 내장했기 때문에 다른 디바이스와 선으로 연결할 필요가 없다. 이러한 HMD의 예는 디푼(Deepoon) AIO VR이다. 또한 오큘러스의 산타크루즈(Santa Cruz)와 인텔의 프로젝트 앨로이(Project Alloy) 같이, 많은 회사들이 모바일 AIO 시제품을 선보이고 있다.
모바일을 선으로 연결
휴대전화기와 연결되는 HMD로서, 휴대전화기가 프로세싱과 전원 공급 기능을 모두 담당하며 HMD의 디스플레이를 구동한다. LG의 360 VR이 대표적이다. 이 제품은 USB Type-C를 통해서 연결된다.
PC와 선 없이 연결
현재로서는 PC/콘솔 기반 HMD가 가장 우수한 VR 경험을 제공한다. 그만큼 높은 성능을 제공할 수 있기 때문이다. 하지만 케이블은 꼭 안전 문제만이 아니고도 불편함을 초래할 수 있다. 모바일 HMD는 사용자를 케이블로부터 해방시킬 수 있다. 하지만 프로세서의 성능이 제한적이라서 가능한 콘텐츠가 단순한 게임이나 평범한 360도 비디오로 한정적이다. TPCAST는 베이징에 위치한 중국 회사로서, 유선과 무선 양쪽 모두의 장점을 제공하기 위해 HTC 바이브용 무선 업그레이드 키트를 내놓았다. 낮은 지연시간과 높은 대역폭의 무선 비디오 전송을 필요로 하는 TPCAST의 이 비디오 솔루션은 래티스(Lattice)의 여러 FPGA 및 ASSP를 사용함으로써 거의 제로에 가까운 지연시간과 견고한 NLOS(non-line of sight: 비가시 경로) 성능을 제공하며 90Hz로 2160 x 1200의 VR 디스플레이 해상도를 무선으로 전송할 수 있다.
HMD 유형이 다양하게 존재한다는 것은 이 새로운 시장에서 해결해야 할 과제가 무엇인지를 말해준다. 지금은 다양한 모델들로 시도해 보면서 최적의 솔루션을 찾아가고 있는 시기인 것이다. 이처럼 진화하는 하드웨어 시장에서 중요한 역할을 하는 것이 FPGA의 유연성이다. 특히 VR/AR 분야에서 FPGA는 센서 애그리게이션, 비디오 디스플레이 브리징, 시스템 연결에 유용하게 활용될 수 있다.
동작 및 위치 추적 센서
VR을 구현할 때 가장 어려운 문제가 어지럼증 현상이다. 우리의 인체는 일생 동안 실제 세상과 상호작용해 오면서 아주 민감한 현실 감지기가 되었다. 그런 과정을 통해 어느 정도 가능해진 예상 감지와 실제 감지가 불일치할 때 어지럼증이 발생한다. 유리로 된 다리 위에서 아래를 내려다볼 때가 바로 그런 예이다. 촉각이나 평형 감각은 발 아래에 견고한 바닥이 있다고 말해주는데, 시각은 발 아래 아무 것도 없는 것처럼 보이기 때문이다. VR은 사용자에게 대안 현실을 구현하는 것이므로, 사용자의 움직임과 가상의 투영 사이에 어떠한 지연이나 불일치가 있으면 ‘VR 어지럼증’이 생긴다. 따라서 VR 엔진은 사용자의 머리 움직임을 빠르고 정확하게 인지하고 이 데이터를 프로세서로 보내서 적절한 비디오를 생성해야 한다. 이를 위해서는 머리, 손, 신체 움직임을 추적하기 위해 다양한 동작 및 위치 추적 센서들을 사용한다. 이들 각각의 솔루션은 이식성(portability), 정확도, 비용이 각각 다르므로 이런 요소들을 잘 고려해야 한다.
가속도계
동작을 추적하기 위한 가장 간단한 방법은 가속도계를 사용하는 것이다. 현재 휴대전화기에 내장하는 것처럼, HMD에도 가속도계를 내장할 수 있다. 이 방법은 저렴하기는 하지만, 진정으로 매력적인 VR 경험을 제공하기에는 정확도가 충분히 좋지 않다.
적외선 센서
적외선 센서는 벽에 탑재된 레이저로부터 직접적으로 펄스를 검출하거나 사용자의 신체, 컨트롤러, HMD 상의 반사점으로부터 반사를 검출할 수 있다. 밸브(Valve)의 스트림VR(StreamVR) 3D 추적 방식을 사용하는 HTC 바이브가 이러한 센서 어레이 추적 시스템의 예이다. 이 시스템은 가속도계보다 훨씬 더 정확하나, 센서나 반사점이 있어야만 추적을 할 수 있다. 그럼으로써 통상적으로 사용자가 착용하고 있는 HMD와 컨트롤러만을 추적할 수 있다.
다중 카메라 리그(rig)
이는 ‘키넥트(kinect)’ 또는 ‘립 모션(leap motion)’ 타입 스테레오 또는 멀티 카메라 어레이로서 사용자의 위치를 지속적으로 포착할 수 있다. 키넥트 타입 시스템은 전신을 포착할 수 있으며, 립 모션 타입은 사용자의 동작을 포착할 수 있다. 카메라 센서 어레이의 장점은 맞춤화된 모션 포착 수트나 반사점 없이도 전신을 추적할 수 있다는 것이다. 하지만 이들 시스템은 분석을 위해서 훨씬 더 높은 대역폭과 프로세싱 성능을 필요로 한다.
활용 사례
• 동시적 센서 샘플링 – 동작을 정밀하고 정확하게 추적하기 위해서 종종 센서 어레이가 사용된다. 하지만 대부분의 MCU는 I/O 수가 충분치 않고 동시적인 데이터 포착을 할 수 있는 아키텍처도 아니다. 이에 비해, 래티스의 iCE40 제품군 같은 FPGA는 저전력, 소형 폼팩터, 비용 절감을 달성할 수 있도록 설계되었다. 동시적인 데이터 포착과 함께, 설계자가 곧바로 FPGA로 공간 프로세싱을 하거나, 또는 FPGA 시간 스탬프 포착 데이터를 사용해서 MCU가 추가적인 프로세싱을 하도록 할 수 있다.
▲ iCE40 센서 허브를 사용한 동작 추적
• 다중 카메라 샘플링 – 이 시스템은 가속도계나 FPGA 기반 시스템보다 훨씬 더 많은 데이터를 발생시킨다. 그러므로 여러 대의 카메라로부터 수집한 데이터를 애그리게이트하기 위해서는 래티스의 새로운 CrossLink™ 디바이스 같은 좀더 강력한 FPGA를 사용하는 것이 바람직하다. 시각적 추적을 위해서 CrossLink가 몇 대의 카메라들과 인터페이스하고 여러 개의 비디오 스트림을 동시적으로 샘플링 및 애그리게이트할 수 있으므로, 성능이 제한적이거나 호환되지 않는 카메라 인터페이스를 갖고 있는 비디오 프로세서를 사용할 수가 있다.
• 동작 추적 – 경우에 따라서는 좀더 통합적인 동작 추적 솔루션이 필요할 수 있다. 여러 대의 카메라들을 애그리게이트하고 색 추출, 깊이 맵핑, 공간 계산 같이 지연이 짧은 동작 추적 알고리즘을 구현하기 위해서는 고성능 저전력 FPGA를 사용하는 것이 이상적이다.
▲ 매끄러운 사용자 경험을 달성하기 위해서 센서 어레이를 사용해서
머리 위치와 동작을 추적할 수 있다.
비디오 디스플레이
VR/AR 분야에서는 화면에 콘텐츠를 표시하는 전통적인 방식에서 완전히 벗어나 지극히 사실적인 사용자 경험을 제공하기 위한 새로운 기법들이 계속해서 시도되고 있다. 높은 해상도와 낮은 지연시간은 언제나 환영할 만한 특성이지만, 디스플레이 화면이 크기가 2~3인치이고 사용자의 눈동자로부터 겨우 몇 인치 떨어져 있을 때는 높은 해상도가 특히 더 중요하다. 또한 VR 어지럼증 문제를 극복하기 위해서는 높은 리프레시 속도와 짧은 지연시간이 중요하다. 사용자가 머리를 돌렸는데 영상이 이 움직임을 반영하는 데에 지연시간이 있으면 인체가 이 불일치를 감지하고 혼란을 느끼게 된다. 지연시간을 줄이고 리프레시 속도를 높임으로써 가상 경험을 통합할 수 있다. 그럼으로써 머리 움직임에 관한 위치 데이터가 사용자가 보는 영상에 즉시 반영될 수 있다.
또한 사실적인 VR 경험을 제공하기 위해서는 각각의 눈에 서로 다른 이미지를 표시해서 3D인 것으로 느끼게 만들어야 한다. VR로 디스플레이 브리징을 하기 위해서는, 1개의 비디오 스트림을 취하여 각각의 눈으로 보내기 위한 비디오를 추출하거나, 또는 반대로 2개의 카메라로부터 데이터를 취하여 이들을 하나의 스트림으로 결합할 수 있다.
활용 사례
• 좌/우 영상 – VR 헤드셋에는 흔히 모바일 애플리케이션 프로세서(AP)가 사용된다. 그런데 어떤 AP는 단일 MIPI DSI 출력만 지원하도록 제한되기도 한다. 각각의 좌/우 디스플레이를 제공하기 위해 AP로부터의 단일 MIPI DSI 출력을 FPGA 비디오 브리지로 입력하고, 여기서 영상을 각각의 디스플레이로 분리할 수 있다.
• 비-모바일 디스플레이/마이크로 디스플레이 – VR/AR 시장이 아직 태동기인 만큼 기업들은 최적의 디스플레이 솔루션을 찾기 위해 열을 올리고 있다. 어떤 AR 시스템은 하이엔드 DSLR 카메라 용으로 개발된 고픽셀/인치 ELV(electronic viewfinder) 마이크로 디스플레이를 사용하기도 한다. 이러한 디스플레이는 대개 RGB나 LVDS 같은 인터페이스를 사용하는데, 이러한 인터페이스는 대부분의 AP에 사용되는 MIPI DSI와 호환되지 않는다. 이럴 때 CrossLink 같은 FPGA 비디오 브리지를 사용해서 호환되지 않는 두 인터페이스를 연결할 수 있다.
• 외부 입력 브리징 – VR에 사용되는 대부분의 AP는 HDMI 같은 일반적인 외부 비디오 소스를 받기 위한 인터페이스를 갖고 있지 않다. 이러한 경우에 비디오 브리지를 사용해서 일반적인 입력들을 MIPI CSI-2로 변환할 수 있다.
• 카메라 출력 – 콘텐츠에 대한 수요 증가는 360도 이미지와 비디오 솔루션의 수요를 촉발했으며, 수요의 대상도 독자적인 전문 장비에서 점점 휴대전화기용 저가 액세서리로 옮겨가고 있다. 이를 통해 VR 사용자들이 몰입할 만한 콘텐츠들의 폭발적인 증가가 일어나고 있다. 기존의 AP는 MIPI CSI-2 입력을 충분히 제공하지 못하거나 이러한 애플리케이션에서 필요로 하는 다중 카메라를 지원할 수 있는 인터페이스를 제공하지 못할 수 있다.
• 비디오 브리지를 사용해서 여러 카메라들로부터 MIPI CSI-2 스트림을 단일 MIPI CSI-2 스트림으로 결합함으로써 AP로 입력할 수 있다.
• 또한 이 동일한 비디오 브리지를 사용해서 LVDS, SLVS, RGB 같은 다른 카메라 인터페이스를 MIPI CSI-2로 변환할 수 있다.
▲ CrossLink를 사용해서 단순한 스케일링을 할 수도 있다.
시스템 연결
많은 VR 디스플레이는 외부 디바이스로 연결된다. 오늘날에도 진정으로 몰입적인 경험을 제공하기 위해서는 PC의 프로세싱 성능이 여전히 필요하다. 통상적으로 이 작업을 위해서는 HDMI 같은 비디오 연결이면 적당하다. 긴 케이블(3~5미터)을 통해서 높은 오디오/비디오 대역폭과 극히 짧은 지연시간이 가능하기 때문이다. 하지만 특히 모바일 기기 같은 경우에는 비디오, 데이터, 전력을 전송할 수 있는 USB Type-C를 통한 연결이 매우 편리할 수 있다.
또한 앞으로는 무선 비디오가 매력적인 대안이 될 수 있을 것이다. 케이블을 없애면 사용자들이 더 자유롭게 움직일 수 있다. 그러면 VR 경험을 향상시킬 수 있다.
활용 사례
• 비디오 연결 – VR 분야에서는 HDMI가 기본적인 비디오 전용 연결이다. 속도, 높은 대역폭, 극히 짧은 지연시간, 시장에서의 폭넓은 보급으로 인해서 VR 분야에 사용하기에 적합하다.
• 비디오 + 데이터 + 전력 – HDMI가 가장 일반적인 비디오 연결 옵션이기는 하나, 표준 HDMI 케이블은 부피가 크다. 또한 HDMI는 전원 공급을 필요로 하며, 어떤 경우에는 센서 데이터를 메인 프로세싱 유닛으로 전송해야 할 수 있다. 이러한 경우에 MHL이나 DisplayPort를 지원하는 USB Type-C 솔루션을 사용하면 하나의 얇고 유연한 케이블을 통해서 비디오, 데이터, 전력을 모두 제공할 수 있다.
• 무선 – 배터리 전원 방식의 HMD와 무선 비디오 기술의 조합은 사용자가 최대한 자유롭게 움직일 수 있게 해준다. WirelessHD®가 바로 이러한 매력적인 기술로서, HDMI의 대역폭 및 지연시간으로 고속 디지털 비디오를 제공한다. TPCAST의 HTC 바이브용 무선 VR 액세서리가 바로 WirelessHD 기술을 사용한 것이다.
FPGA는 끊임 없이 진화하는 시장에서 제품 개발을 위해 중요한 역할을 한다. VR 시장을 선점하고자 하는 기업들이 VR 시스템의 부품들을 연결하고, 여러 센서들로부터 수집한 데이터를 취합 및 분석하고, 3D 비디오를 매끄럽게 디스플레이하고, HMD와 컴퓨터를 연결하는 데 있어서 고성능 저전력 FPGA와 ASSP가 핵심적인 역할을 한다. VR 시장이 계속해서 진화하고 발전해 나감에 따라 FPGA는 설계자들이 최상의 VR 경험을 달성하도록 필요로 하는 유연성을 제공할 것이다.
잉 첸(Ying Chen) 수석 사업개발매니저, 래티스 반도체(Lattice Semiconductor)