LG U+는 올해 6월 10일에 댁내 STB를 통해 4 채널을 동시 시청하는 U+ HDTV 멀티채널 서비스(U+ tv G 4 Channel Service)를 개시하였고 7월에는 모바일 버전 (LTE-A기반) 서비스도 개시하였다. 본 블로그글에서는 LTE-A 지원 모바일 단말에서 U+ HDTV 서비스의 스트리밍 방식에 대해 분석해 본다.
U+ HDTV 서비스는 아래 그림처럼 4개의 분할 화면 시청과 단일 채널 시청의 두 가지 Viewing Experience를 제공한다. 4개 분할 화면은 동시에 4개의 채널을 시청할 수 있으며 4개의 채널 각각은 이용자가 직접 그때 그때 선택하여 구성할 수 있다(대단한 개인화 서비스이다). 두 모드 모두 화질과 시청감은 매우 만족이였다.
이 두 가지 모드에 대해 비디오 스트리밍 방식에 관해 실측을 통해 분석해 보았다 (환경: LG U+ LTE-A 서비스, LG U+ HDTV 서비스, Galaxy S4 LTE-A).
4 채널 멀티뷰 화면 (분할 화면) 전체 화면
4 채널 멀티뷰와 전체 화면 모두 스트리밍 프로토콜은 Apple사의 ABR (Adaptive BitRate) 스트리밍 프로토콜인 HLS (HTTP Live Streaming) 방식을 사용하고 있었고 Chunk Duration은 6초이며 Codec은 H.264이었다.
Playlist Files 분석
Playlist (Manifest) 파일을 다운로드 받아 살펴보니 아래 그림처럼 한 채널당 총 3개의 화질 등급 (Profile)을 가진다. BANDWIDTH=1500000이 가장 높으며 500000이 가장 낮다. 실제로 측정해보니 1500000 Profile의 경우 인코딩율이 1.5 Mbps가 아니라 약 2.5Mbps 정도, 500000 Profile의 경우 약 560Kbps로 관측되었다.
아래 그림에서 보듯이 3개 Profile(그림상에는 2 개 Profile만 도시하였음)의 각 Chunk의 Duration은 6초로 설정되어 있다.
전체 화면의 경우 가장 높은 1500000 Profile (50101H.M3U8)의 1개 채널의 스트림(Chunk들)을 요청하여 받아갔고 4개 분할 화면의 경우 500000 Profile(50103H.M3U8)의 4 개 채널 스트림을 수신하여 재생하였다.
Chunk 요청 및 다운로드 패턴 분석
아래 그림은 전체 화면의 경우 Chunk를 요청하고 다운로드해가는 과정을 캡춰(Wireshark)한 그림이다.
이(초기에 미리 3~4개 Chunk를 빨리 땡기기)는 통신망을 가지고 있지 않아 네트워크 레이어의 QoS 지원을 받을 수 없는 OTT들의 전형적인 인터넷 비디오 전달 방식과 동일하다.
통신망을 가지고 있는 LG U+도 자사의 비디오 컨텐츠 전달을 위해 네트워크 레이어의 QoS를 적용하지 않는 것으로 보인다. 단말에서 수신된 IP 패킷에 DiffServ 마킹도 되어 있지 않아 있었고 LTE 레이어에서도 BE로 처리되었을 것으로 예측된다. 즉, LG U+는 일단 LTE-A 대역폭 품질이 우수하여 2.5Mbps 정도는 충분히 BE로 처리해도 버퍼링 없이 전달될 수 있다고 생각한 것 같고 만일 LTE-A Throughput이 잘 나오지 않는 음영지역으로 이용자가 이동하면 Adaptive Streaming으로 인코딩율이 낮은 화질로 자동 전환하게 하여 시청 품질 저하를 막는 다는 정책으로 보인다(물론 아래에서 언급하겠지만 몇 차례 이번 실측에서는 Adaptive Streaming이 발생하는 것으로 관측하지는 못했지만 Playlist 파일에 3개의 Profile이 정의되어 있는 것을 보면 Adaptive Streaming을 적용되어 있을 것으로 예측된다).
순수 비디오 Chunk Size는 대략 1.6+MB (그림상에 보이는 갭춰된 Chunk 바이트 수에서 IP, TCP 등 오버헤드를 뺀 페이로드의 바이트 수, 즉 비디오 파일의 바이트 수)임을 볼 수 있고 비디오 인코딩율은 2.3~2.5Mbps 정도로 판단된다(그림상에 보이는 캐춰된 평균 패킷 다운로드율은 약 2.5+Mbps이며 역시 상기 오버헤드를 제외하면 이 정도일 것으로 판단됨).
전체 화면의 경우 Chunk 요청 및 다운로드 패턴 (Galaxy S4, LTE-A, LG U+)
분할 화면의 경우도 각 채널이 전체 화면과 동일한 Chunk 요청 및 다운로드 패턴을 갖는다.
Chunk File 분석
아래에 전체 화면의 경우 실제로 다운로드 받은 Chunk 파일을 MediaInfo로 분석한 그림이 나타나 있다.
비디오와 오디오는 하나의 파일(50101.ts)로 전달되며 Chunk Size는 1.6+MB정도 이며 Chunk Duration은 6초(5.983초), 인코딩율은 2.233Mbps, Codec은 H.264, 해상도는 720x404임을 볼 수 있다.
Adaptive Streaming (Automatic Bit Rate Switching) ?
위의 Playlist (Manifest) 파일은 보면 3개의 Profile이 정의되어 있고 이를 단말에게 알려줌을 알 수 있는 데, 이 3개 Profile의 쓰임새가 가장 높은 등급은 전체 화면이고 가장 낮은 등급은 4개 분할 화면 인데, 중간 Profile은 실측 동안 관측이 되지 않았다.
우리는 이 Profile의 용도가 전체 화면을 시청할 때 네트워크 상황이 안 좋아진 경우 적용하는 Adaptive Streaming 용이라고 예상하고 몇 군데 사이트를 다니며 실측해보았으나 이 Profile이 관측될려면 1Mbps이하로 LTE-A Throughput이 떨어져야하는 데 이를 관측하진 못했다.
아마도 더 많은 지역을 다니며 측정을 해보면 Bit Rate 스위칭이 발생할 것으로 예상된다.
혹시 LG U+에서 관련 분야 담당자 분이 이 글을 보시면 LG U+의 Mobile HDTV 서비스가 실제로 3개 Profile간에 Bit Rate 스위칭이 발생하도록 서비스를 설계했는 지 확인해주시면 (코멘트로 남겨주시면) 감사하겠습니다.