hoppin 서비스의 미디어 기술 소개

hoppin은 2011년 1월 25일에 출시한 SK플래닛의 대표적인 모바일 미디어 서비스입니다. 모바일과 TV에서 고품질 동영상을 즐길 수 있고, ‘이어플레이’와 개인화를 내세운 N-Screen서비스를 표방했었죠. 그리고, 삼성전자에서는 hoppin 전용 폰으로 ‘갤럭시S호핀’이 TV Kit과 함께 출시되었고, 이를 통해서 모바일폰에서 HDMI출력으로 대형화면에 동영상을 즐길 수 있는 매력적인 서비스를 지향했습니다.

hoppin 2011 1월 출시 사진
오른 쪽이 TV Kit에 장착된 모습이고, 가운데가 블루투스 리모콘입니다. 물론 왼쪽은 그냥 호핀 모바일에서 영화 플레이 중이구요~

당시 모바일 시장을 되돌아 보면, 2011년 초는  iPhone과 갤럭시S가 이루어낸 초기 스마트폰 시장에서 대중화가 가속화되는 시점이었습니다. 지금이야  LTE서비스 기반의 4.5인치 이상 화면에 듀얼코어 프로세서를 장착하고 MHL(Mobile High-Definition Link)을 지원하는 스마트폰이 나오고 있지만, 불과 일 년 전인 당시에도 hoppin은 앞선 개념을 실현한 서비스였습니다.

hoppin이 표방했던 것과 비슷한 개념은 2007년에  AT&T에서 이야기한 ‘3 screen play’인데, Network portfolio 관점과 Walled-garden 환경 서비스들의 조합인 당시와 비교하면 지금은 더 개방된 플랫폼과 네트워크 환경에서 다양한 스크린 사이즈의 태블릿 디바이스 등이 추가되어, 사용자가 다루는 디바이스가 하나 이상인 N screen 환경으로 빨리 변해가고 있습니다.

2011년 1월 첫 출시 시점에 제공된 화면들입니다. 왼쪽이 TV 화면이 TV Kit을 통한 메뉴이고, 중간이 모바일, 오른쪽이 웹화면입니다.

당시 SK텔레콤은 개인화된 서비스와 3 screen play 를 염두에 둔 미디어 서비스로 hoppin의 개념을 한참 만들고 있었고, 초기 기술개발이 시작될 때에는 기술적 불확실성 때문에 다양한 선택을 고려했었는데요, 몇 가지 사항으로 나누어 다시 돌이켜 보면,

첫째는, “TV, 모바일 디바이스 그리고 PC에 각각 어떤 플랫폼으로 구현하느냐?” 입니다. 개발 기획이 한참인 2008년도 당시에는 안드로이드와 iOS가 대세인 시절이 아니었습니다. 기술적인 기반을 결정하기에는 불확실성도 많이 있었죠. 또한 TV쪽으로 들어가기 위해서 과연 모바일 기반으로 할 것인지 아니면 각각 영역마다 고유한 플랫폼으로 할 것인지? (예를 들면 TV는 전용 셋탑박스…) 물론 ‘개인화된 서비스’이기 때문에 모바일이 중요하므로  hoppin 전용 폰도 개발을 했습니다만…. 일견 PC쪽은 상대적으로 쉬울 수 있을 것 같기도 하지만 들여다 보면 Netflix처럼 웹 중심으로 할 것이냐 아니면 Apple의 iTunes 처럼  PC어플리케이션으로 파워풀하게 만드느냐? 하는 고민들이 만만치 않게 있었습니다.

둘째, hoppin이 추구하는 영상의 범위는 UCC부터 헐리웃 메이저 스튜디오의 프리미엄 콘텐츠까지 다양한데, 이를 위해서는 CP들의 콘텐츠를 보하는 신뢰할 수 있는 DRM 기술이 필요합니다.

세째는 고객이 언제 어디서나 다양한 디바이스로 즐길 수 있도록 하는 문제입니다. TV, 모바일, PC 그리고 태블릿까지 다양한 스크린 사이즈와 해상도가 있습니다. 그리고 퍼포먼스도 다르기 때문에 영상 압축율을 그에 맞게 달리 해야 합니다. 즉, 동일한 콘텐츠에 대해서 여러 벌의 인코딩과 해상도를 지원해야 합니다. hoppin 초기에 TV와 모바일에서 충분히 즐길 수 있는 화질을 준비했다고 생각했지만, 정작 TV Kit이 나와서 모바일폰으로는 보기 좋았던 영상도 42인치 이상 대형화면에서는 부족함을 느껴 인코딩 규격을 시급히 수정한 기억이 납니다. 아직도 좀 완벽하지 않습니다만, 현재 hoppin 상품 ‘SD’기준으로 볼때 모바일에서는 좀 넘치고 TV에서는 약간 모자란 감이 있습니다. (주관적 느낌입니다만, 제가 여쭤본 주변 분들도 대략 동의하는 것 같습니다.)

이러한 이슈에 대해서는 여러차례 갑론을박과 시행착오를 거치면서 결정을 하게 되었는데요.

먼저 모바일 플랫폼은 안드로이드 기반으로 결정되었고, 갤럭시S호핀모델과 TV Kit을 통해 HDMI out을 가능하게 하여 TV까지 지원하도록 하였습니다  그리고, 블루투스 리모콘으로 소파에 앉아서 hoppin 감상이 가능하도록 하였습니다.

다음은 DRM입니다. hoppin은 Microsoft의 PlayReady를 쓰고 있습니다. hoppin에서 메이저 스튜디오의 콘텐츠를 자유롭게 스트리밍/다운로드 받아서 HD/SD화질로 볼 수 있는 것은 안정성이 높고 유연한 DRM을 쓰기 때문입니다.

PlayReady의 강점은 콘텐츠를 보호하는 DRM의 근본인 신뢰성과 강인함에 있습니다. 당연히 헐리웃 6대 메이저 스튜디오를 비롯한 다른 많은 CP들에게 인증을 받은 솔루션입니다. 기능 측면에서도 여러 개의 PC, 모바일,단말 들을 하나의 domain이라는 개념으로 묶어 여러 디바이스에서 동일한 권한으로 콘텐츠를 이용할 수 있으며, 콘텐츠의 재생 권한을 콘텐츠 파일이나 디바이스의 secure 영역에 저장하여, 디바이스가 오프라인이 되어도 지속적으로 안전하게 콘텐츠 재생이 가능합니다. 이렇게 훌륭한 DRM 솔루션이라 하더라도 서비스에 잘 녹여넣지 않는다면 무용지물입니다. 현재 많은 미디어 서비스들이 PlayReady를 쓰고 있는데 대부분 PC나 웹기반 서비스이고 주로 스트리밍 서비스들입니다. 모바일에서 PlayReady로 보호받는 콘텐츠를 스트리밍 뿐 아니라 다운로드로 받아서 쓸 수 있는 것은 hoppin이 거의 유일합니다. 그 이유는 안드로이드 미디어 프레임워크를 hoppin에 맞게 변경하였기 때문입니다. 지금 hoppin 콘텐츠들을 즐길 수 있는 모든 안드로이드 디바이스들에는 hoppin 미디어 프레임웍이 들어가 있습니다.

hoppin이 제공한 미디어 프레임웍은 삼성이나 LG 등 다양한 제조사에 제공되기 때문에 포팅이 용이하도록 안드로이드 미디어 프레임웍에 기반한 plug-in 모듈 형태로 개발되었습니다.  프로요는 OpenCore 기반으로, 진저브레드 이상은 StageFright를 기반으로 개발되었습니다. Playready DRM 연동을 위하여 WMV file format parser(WMV Extractor)와 VC-1/WMA OMX (Codec) interface feature을 추가했습니다. WMV file format을 이용한 HTTP streaming과 download & play 기능 지원하기 위해서 다운로드 미완료 WMV file에 대한 seek 및 재생 가능 영역 표시 기능을 제공했고, 스트리밍 및 다운로드 시작 시 time index table및 license acquisition 수행할 수 있게 했습니다.

hoppin의 미디어 전송 방식은 http progressive 다운로드 방식을 지원하지만 앞으로 나올  iPhone 용 hoppin은  HLS(HTTP Live Streaming)로 콘텐츠를 제공할 예정입니다. Smart TV에도 hoppin이 올라가게 되면 더 다양한 형식을 지원하게 될텐데, HLS와 함께 ISO에서 표준으로 추진중인 DASH(Dynamic adaptive streaming over HTTP)도 검토 중입니다. HLS와 DASH는 거의 비슷한데 간략한 설명은 아래와 같습니다.

모두 HTTP 기반의 adaptive streaming을 지원 하기 위한 규격입니다. HLS는 Apple이 주도적으로 개발한 IETF draft 규격 이며, 현재 iOS와 안드로이드 허니콤 이상의 모바일 디바이스 OS에서 디폴트로 지원 하며, 현 시점에서 global de facto standard 역할을 하는 규격입니다. 반면 DASH는 ISO,MPEG에서 표준화를 진행했습니다. MS, Qualcomm, Netflix, Apple, OIPF, 3GPP 등 여러 회사 및 단체에서 참여한 미래가 기대되는adaptive streaming 표준입니다. DASH는 trick play, 효율적인 멀티 트랙 오디오 지원을 위한 audio/video 분리 전달 등 몇 가지 advanced streaming feature가 추가 되었으며 (이러한 몇 가지 DASH feature들은 HLS 규격에도 반영이 되고 있기는 합니다.), 3D video streaming 및 WebM 연동 등 실험적인 새로운 시도를 위한 base streaming framework으로 활용 되고 있습니다.

hoppin의 화질과 사용성이나 성격에 대해서는 실제 고객님의 말씀을 들어보시면 어떨까 합니다……..

오늘의 hoppin의 미디어 기반은 위에서 소개한 기술들로 시작되었고 발전하고 있지만, 사용자들이 더 편하게 다양한 콘텐츠를 즐길 수 있도록 미디어 영역 뿐 아닌 다른 인터넷, 모바일 플랫폼, 인프라 관련 기술들을 찾아서 적용하고 있습니다. 물론 개발자 관점에서는 적용 기술 영역이 다양해 지면 개발 효율성과 성능도 생각해야 하기 때문에 쉽지는 않은 일이죠.^^

hoppin이 제공되는 디바이스는 갤럭시S호핀 전용 단말부터 일반 안드로이드 폰, 갤럭시탭이 있고, 기능적으로는 KT나 LG U+ 디바이스도 지원을 할 수는 있습니다. (앗 그러나….SK텔레콤 외 타 사 디바이스는 아직 공식적으로 지원하지 않으며, 100% 작동 안됩니다. ㅠㅠ) 최근 나오는 디바이스는 갤럭시 노트처럼 스크린 사이즈도 다양할 뿐 아니라 옛날 디바이스는 또 PlayReady를 지원하지 않는 것도 있죠. 개발하는 입장에서는 app이 특정 디바이스 군에 의존적이지 않으면서 다양한 기능을 제공할 수 있는 단일 apk로 제공하는 것이 관리나 deployment 측면에서 깔끔할 텐데요. 그렇게 하기 위해서는 코딩 뿐 아니라 개발관리, 서버 쪽 처리 등 여러가지 신경 쓸 점이 많습니다.  다음 블로그에는 이런 개발 효율성 측면에서 hoppin은 어떤 노력을 하고 있는지 경험과 사례의 일부를 공유하도록 하겠습니다. 읽어주셔서 감사합니다. hoppin 많이 사랑해 주세요~

PS: 마지막으로 제게 2% 부족한 미디어 관련 기술 내용을 채워주신 rainism과 Seokee에게 감사를 드립니다.

이상범 hoppin서비스 기술개발팀

세계 최고의 반도체회사가 되어버린 곳의 MES SW개발자로 있다가 위성전화회사로 옮겨서 빌링시스템을 개발하고, IT아키텍처 세계를 떠돌다가 다시 MVNO빌링시스템을 개발하고….. Big data 품에서 3년간 수행을 하고 지금은 hoppin 서비스 개발 하고 있습니다. 언젠가는 미디어의 별이 될 hoppin을 위해 그리고 지금 hoppin 사용하시는 우리 고객님을 위해 불철주야 만들고 부수고 고치고 있습니다.

공유하기