‘MIV-미러링’을 통해 스마트폰 서비스를 차에서 이용하기 – Part 2.

MIV-미러링 2번째 시간입니다.

이번 포스트에서는 풀미러링(full mirroring) 서비스에 대한 구체적인 소개와 SK플래닛의 풀미러링 솔루션인 RUI(Remote UI) 와 풀미러링의 국제 표준화 협회인 CCC(Car Connectivity Consortium) 에 대한 소개를 해 보겠습니다.

미러링은 스마트폰의 화면을 다른 디스플레이 디바이스에서 공유하는 기술입니다. 스마트폰과 연동되는 외부 디스플레이 디바이스에서 터치 이벤트를 주고 받으며 스마트폰의 제어를 가능하게 하기도 합니다.

그림 1. 스마트폰과 태블릿을 미러링으로 연결하여 티맵을 실행하는 화면

RUI(Remote UI)

SK플래닛은 스마트폰 이용자들의 문제해결을 위한 원격지원을 위해서 스마트폰 도입 초창기부터 미러링 기능을 개발해 왔습니다.

그림 2. RUI(Remote-UITM)의 구조

그림 2는 SK플래닛의 미러링 솔루션인 RUI(Remote-UITM)의 구조를 보여주는데, RUI는 다른 디바이스에서 TCP/IP 네트워크를 통해서 스마트폰에 접속하여 원격에서 마치 스마트폰을 사용하는 것처럼 디스플레이와 터치이벤트 그리고 키보드입력을 이용하는 것을 가능하게 해 주는 솔루션입니다. SK플래닛의 솔루션은 Wi-Fi 연결을 지원하므로 이 솔루션을 이용하여 사용자는 PC와 같은 외부 디스플레이를 갖춘 디바이스를 통해 자신의 스마트폰의 모든 기능을 원격에서 이용하는 것이 가능합니다.

그림 2에서 서버는 스마트폰에서 구동되며, VNC서버기능을 이용하여 원격의 클라이언트로 화면을 전송하고, 클라이언트로부터 전달된 키보드 이벤트와 화면 터치 이벤트를 운영체제(커널의 이벤트 처리모듈)로 전달합니다. 그리고 클라이언트와의 원활한 접속을 위해 서버탐색기능(discovering)을 갖춰, 클라이언트가 손쉽게 서버를 찾아 연결을 시도할 수 있게 구현되어 있습니다.

클라이언트는 원격의 스마트폰 화면을 디스플레이 하는 기능을 갖추고, 클라이언트에서 발생한 유저의 키보드 이벤트와 화면터치 이벤트를 스마트폰에서 구동중인 서버로 전송하는 기능을 갖췄습니다. 이를 통해 RUI 인터페이스로 연결된 스마트폰을 사용자가 조작할 수 있게 됩니다. 클라이언트는 또한 서버탐색(discovering) 프로토콜을 활용하여 아이피(IP)나 포트(Port)의 입력 없이 손쉽게 네트워크 내에 존재하는 RUI 지원 스마트폰을 찾아내고 접속할 수 있습니다. 또한 RUI 인터페이스는 FTP를 포함하여 서버와 클라이언트 간의 파일 전송을 지원할 수 있습니다.

이러한 미러링 솔루션의 구현에 있어 가장 중요한 부분은 이미지의 전송속도 입니다. 이미지의 전송속도는 실제 물리적인 연결이 지원하는 데이터의 전송속도와 이미지 전송을 위한 압축시간, 이미지의 출력을 위한 압축해제시간을 포함하는 개념입니다. RUI솔루션에서는 이미지의 전송속도에 맞추어 적당한 압축방식을 통해 압축을 실시하는데, 일반적으로 고속으로 연결된 상태에서는 낮은 비율의 압축을 선택하여 압축시간이 많이 걸려서 실제 연결에서 지원하는 전송속도를 제대로 활용하지 못하는 부작용을 줄이고, 저속 연결 시에는 상대적으로 높은 비율의 압축을 선택함으로써 전송속도의 부족함을 메우는 방식을 택하고 있습니다.

해상도의 차이로 인해서 발생하는 이미지 변환의 문제도 미러링 솔루션에서 반드시 해결해야 하는 이슈입니다. 스마트폰과 차량단말이 서로 동일한 해상도의 디스플레이를 사용한다면 이 부분이 문제가 되지 않지만, 해상도가 다른 디스플레이를 사용하게 된다면, 이미지의 크기를 변경시켜 주어야 합니다. 만약 서버에서 이 작업을 수행한다면 서버는 미러링 연결이 될 때 상대 디바이스의 디스플레이 해상도 정보를 받아올 수 있어야 하고 이렇게 받아온 해상도를 스마트폰의 실제 해상도와 맞춰서 이미지를 변환하는 작업을 같이 수행하므로 전송속도에 영향을 줄 수 있습니다. 반대로 클라이언트가 서버에서 전송된 이미지를 변환하여 디스플레이 하는 방식도 생각해 볼 수 있는데, 이 경우는 미리 디스플레이 정보를 교환하지 않아도 된다는 장점이 있는 반면, 서버(스마트폰)에 비해 상대적으로 이미지 처리가 늦은 클라이언트(차량디바이스)에서 이미지 처리가 이루어져야 하므로 클라이언트 디바이스의 이미지 처리 성능이 어느 정도 보장되어야 합니다. RUI의 경우에는 서버에서 이미지 해상도 조절이 이루어 지고 조절된 이미지를 적절한 방식으로 압축하여 클라이언트로 보내는 방식을 택하였습니다.

MirrorLink of CCC(Car Connectivity Consortium)

자동차 산업계에서도 일찌감치 미러링 서비스의 다양한 측면에서의 활용 가능성을 높이사고 이 기술의 도입을 위한 노력들을 기울여 왔는데요, 미러링크 혹은 터미널모드로 이름붙여진 기술들로 스마트폰의 현재 화면을 그대로 차량의 디바이스에 전송하고, 운전자는 차량의 디바이스를 통해서 현재의 스마트폰의 화면을 직접 보면서 터치조작 등을 수행할 수 있도록 만들어진 미러링 기술입니다.

이러한 미러링을 위한 동기화 인터페이스는 VNC(Virtual Network Computing), 오디오 전송에 대한 실시간 전송 프로토콜 RTP(Real Time Protocol)와 단거리 무선통신 BT(Bluetooth), 서비스 교섭을 위한 범용 플러그 앤 플레이 UPnP(Universal Plug and Play) 등의 세 가지 기본 프로토콜로 구성이 됩니다. 그림 3은 위에서 기술한 3가지의 기본 프로토콜을 활용하는 미러링크의 아키텍처를 보여줍니다. — 최근 미러링크 규격이 1.1로 업데이트 되면서 전통적인 비디오, 오디오, 터치이벤트의 교환 이외에도 알림(Notification)기능과 서버/클라이언트 사이의 데이터교환(GPS, Location Service)가 추가로 가능하게 되었습니다. 이 부분은 1.1로 표시되어 있습니다.  —

그림 3. 미러링크 아키텍쳐 (출처: CCC 미러링크 스펙)

이 기술에서 스마트폰은 외부망과의 통신을 담당할 뿐만 아니라, VNC 서버의 역할을 수행합니다. 그리고 차량 디바이스는 스마트폰에 비해 큰 디스플레이 장치를 가지며, VNC 클라이언트의 역할을 통해 스마트폰의 화면을 그대로 자신의 디스플레이장치에 보여주는 동작을 수행합니다. 이렇게 스마트폰의 현재 화면을 그대로 차량 디바이스에서 보기 위해서는 스마트폰의 VNC 서버가 프레임버퍼를 읽을 수 있어야 하기 때문에 VNC 서버 프로그램은 스마트폰 제조사나 스마트폰 운영체제 제작사로부터 시스템 권한의 획득을 필요로 하는데요, 만약 그렇지 않다면, 운영체제에 대한 루팅(Rooting) 등의 방법을 통해서 시스템 권한을 획득할 수 있으나 이는 일반적으로 허가되지 않습니다. 그렇기 때문에 이러한 기술적인 제약을 해결하기 위해서 크게 2가지의 방법이 사용될 수 있습니다.

한가지는 미러링을 위한 표준화된 프로토콜을 만들어 운영체제와 그 상위의 프레임워크 레벨에서 디바이스의 리소스에 접근 가능한 통일된 인터페이스를 제공하는 방법입니다. 모든 사용자가 동일한 방식을 통하여 미러링에 필요한 프레임버퍼와 오디오채널(PCM 데이터)로의 접근을 할 수 있게 만들어 주는 방식인데, 이 방식을 통하여 응용프로그램 개발자들은 특정 스마트폰에 국한되지 않고 범용적인 스마트폰 미러링 어플리케이션의 작성이 가능해집니다. 현재 CCC(Car Connectivity Consortium)에서 정의하는 미러링크의 규격이 이 분류에 속한다고 할 수 있습니다.

다른 한가지는 특정 스마트폰 제조사가 제조사의 단말 리소스를 접근하기 위한 별도의 프로토콜을 디자인하고 이에 대한 API를 제공함으로써 상위 어플리케이션 개발자는 해당 제조사의 단말에 국한된 미러링 솔루션을 구현할 수 있는 방법입니다. 현재 Apple의 iAP 프로토콜을 통하여 아이폰의 리소스에 접근하는 방식이 이 분류에 속한다고 할 수 있는데, Apple의 iAP를 비롯하여 SK텔레콤용 이동통신 단말기에 제공되는 SK플래닛의 RUI 플랫폼이 한 예가 될 수 있습니다.

그러나 일반적으로 특정 어플리케이션이 한 회사의 디바이스에 종속되는 경우가 많지 않고 자동차 제조사의 관점에서 특정 스마트폰에서만 차량의 서비스가 구동되는 상황을 선호하지 않으므로 자동차용 미러링 서비스로는 많이 사용되고 있지 않습니다. 그래서 미러링에 대한 국제적인 표준 프로토콜의 개발을 위한 컨소시엄(Car Connectivity Consortium)이 구성되었고 현재 2012년 초 시장 점유율을 기준으로 주요 자동차 제조사의 70%와 스마트폰 제조사의 60% 가 회원사로 가입하여 활발히 운영되고 있습니다. 저희 SK플래닛도 회원사로 가입되어 있습니다. (참고: http://www.mirrorlink.com/about/membership/member-list.html)

그림 4. CCC 회원사 현황 (출처: CCC 홈페이지)

최근 SK플래닛에서는 RUI에 CCC 표준 프로토콜을 반영하여 CCC 미러링크 1.0 규격을 준수하는 클라이언트 미들웨어를 개발 완료하고 공식 인증을 획득했습니다.

그림 5. SK플래닛의 미러링크 인증 플랫폼 구조

지금까지 소개해 드린 미러링 솔루션들이 가지는 가장 큰 장점으로는 모든 어플리케이션의 수행이 스마트폰에서 이루어지므로 큰 노력 없이 소프트웨어를 업데이트 하여 늘 최신 버전으로 유지할 수 있고, 운전자 혹은 차량 탑승자가 스마트폰에 비하여 큰 화면을 사용하여 어플리케이션 서비스를 제공받을 수 있다는 것입니다. 기존 차량용 디바이스들이 소프트웨어 업데이트를 위해서 서비스센터를 방문하거나 플래시메모리에 직접 사용자가 데이터를 복사하는 등의 불편함이 사라지게 됩니다.

또한 지난 시간에 잠시 설명드린 바와 같이, 긴 제품 개발주기와 제품 수명을 가지는 자동차용 인포테인먼트 디바이스가 겪고 있는 “소비자 기대수준과 실제 제품의 성능의 차이”에 따른 문제들을 1년 주기로 제품의 혁신이 이루어지고 있는 스마트폰으로 매워줄 수 있다는 큰 장점을 가집니다.

물론 단점도 있는데요, 미러링 서비스가 고객들에게 아주 유용하긴 하나, 스마트폰의 화면 그대로를 옮겨놓음으로써 발생하는 여러가지 불편한 현상들이 있습니다. 예를 들자면, 미러링으로 ‘티맵’ 네비게이션을 자동차 화면으로 보고 있는데, 갑자기 전화가 와서 전화 받기 화면으로 바뀌어 버리는 상황과 같은 경우입니다. 이렇게 사용자의 의도와는 상관없이 서비스의 연속성을 보장하지 못하는 문제를 해결하기 위해서 여러 기술들이 개발되고 있는데요, 다음 시간에는 이와 관련한 SK플래닛의 다양한 기술들을 소개해 보겠습니다.

————————————————————————————————————————–

연재방향

Part1: 스마트폰과 외부 디바이스의 연동 서비스 구성방식에 대한 소개

Part2: full mirroring 기술과 RUI, CCC

Part3: app mirroring 기술과 AppThrough

Part4: 사례 소개 – SK플래닛 MIV솔루션

————————————————————————————————————————–

이상율 LBS기술개발팀

전자회사에서 텔레메틱스 서비스 개발과 차량네트워크 프로그래머로 8년을 보내고, 현재는 SK플래닛 LBS기술개발팀에서 스마트폰과 외부 디바이스의 Connectivity Solutions 개발 관련한 일을 하고 있습니다.

관심분야: MirrorLink, P2C(Phone2Car), MIV(Mobile In-Vehicle), 차량네트워크, CAN, OBD 진단제어

공유하기