Feb 11, 2008

UCC와 분산비디오코딩

왜 UCC(User Created Contents)인가?

인터넷과 PC는 개인이 발휘할 수 있는 능력을 증대시키고 있다. 능력 증대와 함께 자존감이 커져서, 자신을 과시하고 싶어하는 욕구가 커진다.

그 옛날 베이비 붐 시대에 출생한 세대는 라디오 방송과 TV 방송을 즐긴다. 방송은 말 그대로 방송이므로 하나의 방송국에서 만든 콘텐츠를 여러 사람이 수신하는 형태이다. 그러나 그 이후 세대는 일방적인 수신을 넘어서서 자신이 참여하고 싶어한다. 아날로그 라디오에서 전화 목소리로 참여하는 형태가 이러한 욕구를 처음으로 충족시켜 주었다. 최근 인터넷과 PC의 발달은 참여 욕구를 충족시키는 형태가 다양화하고 있다.

2000년 초반 이후 디지털 카메라가 일반화되면서 dcinside.co.kr에서 일반인이 이제는 자기가 찍은(또는 만든) 정지 영상을 올리고, 댓글을 달면서 즐기는 새로운 문화가 생겨났다. 아마추어가 만든 조악한 작품을 서로 칭찬도 하고 비판도 하는 가상공간이며, 초딩이라고 불리는 초등학생도 참여하는 매우 열린 공간이다. 멀티미디어 기기의 발달과 초고속 인터넷의 발전으로 이제 동영상을 올리는 UCC 문화가 새로 정착되고 있다.

2007년 봄 youtube.com에 올라온 전자기타 연주 동영상이 세계적인 주목을 받은 바 있다. Cannon이라는 곡을 연주한 임정현씨는 홍대앞 클럽에서 일하는 평범한 연주자에서 세계적으로 유명해졌다. 이외에도 국내 UCC 사이트를 통해 유명해진 사람들로, 구두 손질하는 동영상을 올리는 이복현씨와 머리손질 동영상으로 유명해진 김창림씨 등은 개인 사업의 대박으로까지 연결되었다.

왜 분산비디오코딩(DVC Distributed Video Coding)인가?

UCC와 같이 일반인들이 제작하는 동영상은 방송국에서 제작하는 동영상에 비해 품질이 매우 떨어진다. 부족한 품질과 서투른 편집 등이 일반 사람들에게 나도 만들 수 있다는 자신감을 주어서 더 친근하게 느끼게 하는 효과가 있긴 하다. 그러나, 품질이 떨어지는 가장 큰 이유는 장비가 방송국에 비해 좋지 않고, 이용할 수 있는 전송 채널의 대역폭이 작기 때문이다.

지금은 이미 촬영되어 저장된 동영상을 올리고 있지만, 다음 단계로는 개인이 생중계하는 것을 원하게 되며, 이때에는 장비와 대역폭 문제가 더욱 커진다. DVC는 인코딩하는 장비의 복잡도를 줄이는 것이 목표이다. 현재의 휴대전화로 동영상을 촬영할 수 있지만, 그 품질이 매우 열악한 이유는 첫째로 휴대전화에서 사용하는 CPU 또는 하드웨어의 성능이 충분하지 않은 탓이다.

휴대전화에서 동영상 인코딩은 MPEG-4나, 아니면 H.264 알고리즘을 이용한다. 이 알고리즘에서 인코딩은 디코딩보다 10~15배 복잡하다. 즉, 동영상 한 프레임을 인코딩하는데 걸리는 시간은 디코딩 한 프레임하는데 걸리는 시간의 10~15배이다. 다르게 얘기해서, 프레임당 속도를 똑같이 맞추려면 화면의 크기를 1/15 ~ 1/10으로 줄여야 한다. DVC는 인코더의 복잡도를 디코더 쪽으로 옮기는 목적으로 만들어졌다. 인코딩이 디코더보다 복잡해지는 이유는 움직임 예측이 매우 많은 계산량을 요구하기 때문이다. 따라서 DVC에서는 움직임 예측을 디코더 측에서 하도록 되어 있다.

DVC의 응용 범위

방송국에서 만들고 시청자들이 보는 서비스에서는 인코더 쪽의 알고리즘이 복잡해도 상관없다. 왜냐하면 방송국에서 비싼 장비를 쓸 수 있기 때문이다. 그러나, 인코더 쪽이 복잡하면 작동이 안되는 동영상 응용 서비스도 많이 있다. 이에 대한 내용은 유럽에서 DVC 관련 국제 공동 연구인 DISCOVER의 백서(http://www.discoverdvc.org/deliverables/Discover-D4.pdf)에 자세히 나와 있다.

몇 가지 예를 들면, 첫째, 수십 대의 카메라로 인코딩 하지만 디코딩은 그 중에 하나만 하는 경우가 그렇다. 야구 중계는 보통 24개의 카메라로 하게 되지만 그 중 하나만 디코딩해서 본다. 영화 매트릭스에서는 주인공을 둘러싼 40여 개의 카메라가 찍지만 한 순간에 디스플레이되는 것은 그 중 하나만이다.

둘째로 인코더 쪽에 CPU를 좋은 것을 쓸 수 없는 경우가 있다. 우선 휴대 전화에 들어가는 비디오 카메라가 그렇지만 이보다 더 절실한 응용으로는 일회용 비디오 카메라(disposable video camera)라든가, 환경감시지역에 뿌려진 비디오 카메라들, 또한 삼키는 내시경(PillCam, 아래 그림) 같은 경우를 예를 들 수 있다. 앞으로 DVC가 보편화 된다면 더 많은 종류의 응용서비스가 개발될 수 있을 것이다.

그런데, 화상전화와 같이 인코딩과 디코딩이 동시에 되어야 하는 경우에는 휴대 단말기에서 인코딩은 DVC로 하고 디코딩은 H.264와 같은 기존 디코더로 하고, 네트워크 중간에 DVC에서 H.264로 트랜스코딩하는 방법을 생각해볼 수 있다. 이 방식은 Stanford 대학의 Girod 박사가 2000년 초반에 제안하였다.

DVC의 역사

현재 DVC를 연구하는 그룹은 크게 3그룹으로 나눌 수 있다. Stanford 대학 Girod 박사 연구팀, Berkeley 대학의 Ramchandran 교수 연구팀, 그리고 유럽의 DISCOVER 연구그룹이다. DISCOVER는 포르투칼, 이탈리아, 스페인의 대학들이 참여한 국제공동연구로 2002년부터 2006년 12월까지 연구가 진행되었다.

이들 그룹에 의해 2000년 초반부터 시작된 DVC 연구의 이론적 배경은 1973년 Slepian과 Wolf의 보조정보를 이용한 무손실 압축 연구와 1976년 Wyner와 Ziv 논문에 제시되어 있다. 둘 다 IEEE Tr. on Information Theory에 게재되었다. IEEE 논문지의 데이터베이스에서 DVC를 검색해보면 약 150편의 논문이 검색된다. 아직 한국 연구자의 논문은 없다.

DVC와 국제 표준화

DVC는 MPEG 회의의 'Future MPEG Workshop'에서 2차례 정도 소개되었다. DISCOVER에서도 아직 표준화를 진행할 만큼 효율적이지 못하다고 결론을 맺고 있다. DVC의 성능은 기존 H.263 코덱의 Intra 코딩보다는 훨씬 좋고, Predictive 코딩의 성능에 근접하고 있다. 그러나, 이는 DVC로서는 불리한 비교이다. 왜냐하면, 기존의 비디오 코덱에서는 갖가지 부수 알고리즘(variable block size, multi-frame motion estimation, 1/4 pel motion estimation, CABAC 등등)이 사용되고 있지만, DVC는 매우 기본적인 알고리즘만 구현된 상태이기 때문이다. 현재 MPEG에서 진행 중인 MVC(multi-view coding)가 2008년에 끝나면 다음 표준화의 방향은 어느 쪽일까?

본인이 DVC를 중요하게 생각하는 이유는 이러한 기술적인 제한을 넘어설 것으로 보는 문화적인 트렌드 때문이다. Web 2.0이나 Amazon의 long tail적 판매(소량 다품종 판매) 등등이 상징하듯, 이제 일반 개개인들이 참여하는 의지가 더욱 강해지고 있고, 개인이 참여하는 응용 서비스가 더욱 다양화해지고 있다. 개인이 언제 어디서나 동영상 콘텐츠를 생산/분배해야 하는 요구조건이 더욱 커진다면 DVC의 등장이 멀지 않은 것이다.

서덕영 (경희대학교 전자정보학부 교수, suh@khu.ac.kr)