2009년 10월 23일 금요일

MPEG SVC는 차세대 네트워크를 겨냥

[멀티미디어응용] MPEG SVC는 차세대 네트워크를 겨냥한다.

최근 MPEG 회의에서 가장 사람이 많이 몰리는 세션은 SVC(Scalable Video Coding)이다. SVC는 JVT(Joint Video Team)에서 진행하고 있는데, 그것은 최근 10여 년간 따로 동영상 압축 표준화를 진행해오던 두 개의 그룹, MPEG과 ITU-T SG16이 같이 표준화를 진행하기 때문에 붙여진 이름이다. JVT는 지난 2004년 3월 MPEG-4 보다 50% 이상 압축률을 향상시킨 H.264/AVC(Advanced Video Coding)를 표준화하였고, 그 이후 SVC 표준화를 담당하고 있다.

 

MPEG 관련 표준화 추진현황

1990년 이후 MPEG에서는 MPEG-1, MPEG-2, MPEG-4 등 비디오 압축 표준을 내놓았고, ITU-T SG16에서는 H.261, H.263 등을 내놓았다. 이 두 그룹이 같이 표준화를 진행한다는 것은 매우 큰 의미가 있다. 이는 미래에 멀티미디어 서비스가 어느 방향으로 진화해갈 것인가를 짐작하게 한다.

MPEG은 원래 비디오 감상 서비스를 목적으로 한 고화질 비디오에 관심이 있어왔고, ITU-T SG16은 화상 전화와 같이 통신망을 통한 실시간 비디오 서비스를 목표로 하였다. MPEG의 첫 작품인 MPEG-1 비디오는 CD에 영화를 저장할 수 있게 하기 위한 동영상압축 표준이었다. 따라서, CD 600Mbyte에 2시간짜리 영화를 저장한다는 제한 조건을 만족하기 위해 전송률은 1.544Mbps(CD 1배속)로 정해져 있었다. 즉, 단순한 저장이 목적이었다. 이에 비하여 ITU-T의 첫 작품인 H.261은 pX64kbps 채널을 이용하는 화상전화 서비스를 위한 것이었다. 여기서 64kbps는 음성통화 한 채널을 압축하지 않았을 때 전송률이고 p는 그런 채널의 개수를 말한다. 목적은 이렇게 달랐지만 기본적인 알고리즘은 영상을 16X16크기의 매크로블럭으로 나누고 이를 4개의 8X8 블록으로 나누어 코딩하며, 공간적 중복성(spatial redundancy)를 제거하기 위해, DCT(Discrete Cosine Transform)를 사용하고, 시간적 중복성(temporal redundancy)를 제거하기 위해, ME/MC(Motion Estimation/Motion Compensation)를 사용한다는 점에서 같은 알고리즘을 사용하고 있었다. MPEG의 서비스 영역 목표가 MPEG-2에서는 방송, MPEG-4에서는 네트워크를 통한 스트리밍으로 확대되면서 ITU-T의 관심영역과 겹치게 되었고, 이에 따라 H.264부터는 같이 표준화 작업을 하기에 이르렀다. 이는 방송과 통신이 융합되는 것을 상징적으로 보여주고 있다. 이것은 1990년대 말부터 B-ISDN에 대한 계획이 각국에서 진행되면서 예견되어온 결과이다. 

MPEG은 동영상 감상이 목표이므로 품질이 좋은 비디오를 주로 다루었고, ITU-T는 통신망을 통해 실시간으로 비디오가 전송되어야 했으므로, 낮은 비트율 코딩을 주로 다루면서 통신망에서 일어날 수 있는 에러나 지연에 대해 많이 고려하였다. 그런데, 앞으로는 통신망이 광역화하므로 ITU-T의 낮은 비트율 코딩은 점차 비트율을 높여왔다. 방송망과 각종 통신망이 연동하는 혼재통신망(heterogeneous network)이 등장하므로, MPEG에서도 이러한 망을 이용한 서비스를 고려하게 되면서 두 그룹이 만나게 된 것이다. 즉, 고품질의 비디오를 통신망으로 전송하는 서비스를 공동 목표로 갖게 된 것이다.

SVC는 이러한 환경에 적합한 코딩방식이다. 즉, 하나의 비디오를 여러 개의 비트 스트림으로 코딩하여 상황에 맞게 전송하는 것이다. 예를 들어, 5개의 계층으로 5개의 비트 스트림으로 코딩하였다면, 상황이 나쁠 때는 1번 비트 스트림만, 좀 좋아지면, 1번과 2번 비트 스트림을, 더 좋아지면 3번 비트 스트림도 보낸다. 이렇게 1, 1+2, 1+2+3, 1+2+3+4, 1+2+3+4+5 순서로 전송률이 높아지면서 더 좋은 품질의 비디오를 전송할 수 있게 된다. 이러한 방식은 1994년 표준화된 MPEG-2에서도 사용되었다. 그러나, 그동안은 통신망을 통하여 디지털 비디오 전송이 가능한 정도까지만 시스템이 개발되었으므로 실제로 사용되지는 않고 있었다. MPEG-4에서는 FGS(Fine Grain Scalable Coding)이라고 하여, 1번, 2번, 3번 이렇게 점프를 하지 않고, 서서히 비트율이 증가하면서 화질도 같이 서서히 증가하는 방식도 표준화 되었다. 현재 SVC도 이러한 과거의 방식에서 크게 바뀌진 않았으나, 현재 네트워크 환경이 혼재통신망으로 바뀌면서 비상한 관심을 끌게 되었다. SVC 표준화 초기 단계에는 predictive wavelet이나 MCTF(Motion Compensated Transform) 같은 새로운 방식이 소개되었으나, 모두 효율성이 적은 것으로 판명되고, 이제는 원래 MPEG-2에서부터 사용해오던 기본적인 방식이 큰 뼈대를 이루고 있다.

 

SVC 계층화 방식

기본적으로 3가지 방식이 존재한다. 시간적 계층화(temporal scalable coding), 공간적 계층화(spatial scalable coding), 품질 계층화(SNR scalable coding 또는 quality scalable coding)이 그것이다. 시간적 계층화는 네트워크 상황이 좋을 때는 1초에 7.5 프레임(2초에 16프레임)을 보내다가, 상황이 좋아지면 1초에 15프레임, 더 좋아지면 30프레임을 보내는 방식이다. 매우 간단한 방법이나, 최대비트율이 최저비트율의 약 2-3배 정도로 비트율의 가변폭이 떨어진다. 공간적 계층화는 네트워크 사정이 나쁠 때는 화면 크기를 100X100으로 했다면, 좋아지면 200X200, 더 좋아지면 400X400으로 복호화 할 수 있도록 전송한다. 계층화 방식중 가장 복잡한 방식이나, 최대비트율이 최저비트율의 약 10배 이상이 되므로 비트율의 가변폭이 매우 우수하다. 즉, CDMA에 연결된 PDA와 ADSL에 연결된 PC에 동시에 서비스할 수 있다. 품질 계층화는 디지털 카메라에서 사진 찍을 때 화질을 선택하듯 화질을 기반으로 계층화하는 방식이다. 간단하면서도 비트율의 가변폭이 크다. SVC에서는 이 3가지 계층화 방식을 조합하여 수십 개의 계층으로 비디오를 코딩하는 것이 가능하게 되어 있다.

 

표준화 쟁점사항

SVC는 이번 10월 정도에 어느 정도 표준화가 마무리 되는 것을 목표로 진행하고 있다. 앞으로, high level syntax와 error resilience 등 비디오 코딩보다는 네트워크와 경계에서 해결할 문제에 관심이 집중될 것이다. High level syntax는 압축된 SVC 비트 스트림을 어떻게 패킷화하여 보관과 전송이 용이하게 할 것인가를 결정한다. 현재 Nokia 등 몇몇 회사에서 안을 내놓지만 아직 본격적으로 논의되지 않았다. SVC에서는 전송 서버와 수신 클라이언트 외에 네트워크 중간에 추출기(extractor)라는 것이 존재하는 것을 가정하고 있다. 이 기능은 아마 지능적 라우터 또는 프락시에 구현될 것이다. 추출기는 네트워크(또는 채널)의 상태를 측정하여, 적절하게 비트 스트림을 제거하는 역할을 한다. 이 추출기가 되도록 비디오 코딩에 대한 내용은 모르는 채로 기능을 정확하게 할 수 있게 하는 것이 목표이다.

현재는 패킷마다 우선순위(priority)를 인식할 수 있는 숫자가 쓰여있고, 이에 따라 버리는 순서를 정하는 것으로 되어있다. 그러나, 서비스의 특성에 따라 우선순위가 달라질 수 있는 점은 고려되지 않고 있다.

아직 error resilience라는 말은 사용하고 있지만, 정확하게는 표준화 범위를 패킷 손실 강인성(packet loss resilience)에 국한하고 있다. 과거 회선교환망에서처럼 비트 스트림으로 전송되면, 비트에러에 대한 고려가 필요하지만, 이제는 모든 망이 인터넷 패킷 교환망을 통해 전송되는 것을 가정하므로 패킷 손실에 대해서만 고려한다. MPEG-4를 포함한 이전의 코덱과 다르게 이제는 joint source-channel 코딩이 이용될 것으로 예견된다. 이 방식은 비디오 코딩 하부 계층에서 이용되는 에러정정방식 등을 비디오 코딩에 같이 포함시키는 방식으로 그동안 논문으로는 많이 발표되었었다. 75차 MPEG회의 첫날 진행된 미래의 비디오 코딩에서도 언급되었고, SVC 표준화 위원장인 Thomas Wiegend도 다음 회의에 이것에 대한 제안이 필요하다고 하였다.

 

향후전망 및 제언

시스템 개발자로서 MPEG을 바라보면 너무 자주 비디오 코덱 표준이 발표되어 혼란스러울 것으로 생각된다. H.264가 계산의 복잡성을 최대한 수용해서, 압축율을 극대화하였다면,(대략적으로 200% 계산량이 늘어나서 50% 압축률이 좋아졌다.)  SVC는 서비스 요구 사항을 최대한 수용해서, 유연성을 극대화한 것이다.(계산량은 H.264에서 크게 증가하지는 않을 것이다.) 즉, 네트워크의 상황이 시시각각 변하거나(실제로 CDMA EV-DO에서 가용 비트율은 서비스 도중에 10배 이상 바뀌기도 한다.), 연결되는 단말기의 종류가 다양하거나, 또한 사용자의 취향이 다양할 때, 이 모든 경우를 동시에 서비스를 해줄 수 있게 된다.(예를 들면 월드컵 생중계를 PDA, PC, TV에 동시에 해줄 수 있게 된다.) 따라서, 앞으로 인터넷 종량제가 실현되면, SVC의 사용은 필수적이 된다. 

우리나라는 유무선 광대역 통신망이 다른 나라보다 일찍 도입하고 있고, 국민들이 적극적으로 사용하고 있다는 장점을 이용하면, SVC의 표준화와 SVC 관련 서비스 개발에 있어서 다른 나라보다 매우 유리한 고지를 점할 수 있다. 이를 위하여 현재 SVC에 참여하고 있는 전문가들과 BcN, WiBRO 등 QoS(Quality Of Service) 관련 통신망 관련 전문가들이 협조하여, 테스트베드 구축 및 응용 서비스 개발을 서둘러야 한다

댓글 없음:

댓글 쓰기