오늘 MPEG-4 메일링 리스트로 날라온 글…

http://www.streamingmedia...d-VP8-Compared-67266.aspx

소렌슨 인코더를 이용하여 H.264/AVC의 베이스라인 프로파일로 인코딩된 파일과 VP8을 이용하여 인코딩된 파일을 비교하고 있다.

사실 H.264/AVC는 화질이 충분히 훌륭하지 못하다는 이유로 디즈니 등에서 사용을 거부 당했었고, 이런 점을 보완하기 위해 FRExt(Fidelity Range Extension)를 추가했었다. 그 결과 베이스라인 프로파일과 FRExt 등이 적용된 High profile은 굉장한 성능차가 있음에도 Baseline profile만을 이용하여 성능을 비교했다는 점은 조금 아쉽다.

어떻게 생각하면 전력으로 승부한 VP8과 2진으로 승부한 H.264/AVC였다고 할 수 있을 듯…

어쨌든 위 사이트에선 움직임이 적은 영상에선 VP8 쪽이 좋았다고 이야기 하고 (골든 프레임이 배경을 잘 예측하기 위한 기술이니 어찌보면 가능할 수도 있는 얘기란 생각) 움직임이 클 때는 H.264/AVC가 좋았다고 얘기하고 있다. 그런데 내 눈엔 스케이트 보드나 피자 도우 만드는 영상에선 H.264/AVC가 훨씬 좋아보이고 나머지 영상은 별 차이가 없어보인다.

High profile로 비교했다면 어떤 결과가 나올지 조금 궁금하지만 제목들이 First … 식으로 시작하는 걸 보니 곧 또 다른 성능 비교가 올라오지 않을까 하는 생각 중…

뭐 그리고 그와는 별도로 아랫 글에서 인용하는 걸 까먹었던 구문…

3. How likely is VP8 to actually be free of patents? Even if VP8 is worse than H.264, being patent-free is still a useful attribute for obvious reasons. But as noted in my previous post, merely being published by Google doesn’t guarantee that it is. Microsoft did similar a few years ago with the release of VC-1, which was claimed to be patent-free — but within mere months after release, a whole bunch of companies claimed patents on it and soon enough a patent pool was formed.

3. VP8이 정말 특허에서 자유로워보이나? H.264보다 VP8의 성능이 떨어진다 하더라도 특허에서 자유롭다면 분명 유용할 것이지만 예전 포스트에서 말했듯이 구글에서 말하는 것 만으로는 특허에서 자유롭다는 것을 보장할 수 없다. 마이크로소프트도 몇 년 전에 VC-1을 특허에서 자유로운 코덱이라 주장했지만 결국 몇 달 후 많은 회사들이 자신의 특허권을 주장했고, 곧 특허 풀이 형성되었다.

from The first in-depth technical analysis of VP8

어쨌든 재밌게 지켜보는 중…

This entry was posted by 정태영 on Monday, May 24th, 2010 at 10:10 PM and is taged under , , , , , , , , .

Table of Contents

Introduction

Google I/O 2010에서 구글은 WebM이란 프로젝트를 발표했다.

WebM이란 HTML Video 등에 사용될 수 있도록 오픈소스/스펙으로 배포되는 동영상(비디오+오디오+컨테이너) 프로젝트로 다음과 같이 구성되어 있으며, 라이센스를 낼 필요가 없다는 점을 굉장히 강조하고 있다.

Table 1. WebM의 구성 요소
구분 기반
컨테이너 Matroska
비디오 On2 VP8
오디오 Ogg Vorbis

어쨌든 구글이 WebM을 내놓게 되면서 Firefox, Opera, IE, Safari 등의 브라우져에서 WebM을 지원하겠다라고 선언했고 (Safari를 제외한 메이져 브라우져는 전부인 듯) 구글 같은 경우 유튜브에서 WebM도 지원하도록 하겠다는 말을 남겼다.

그런데 정말 WebM의 라이센스가 Free인 것을 보장받을 수 있을까? 그리고 정말 On2의 주장에서처럼 VP8은 H.264/AVC보다 더 좋은 성능을 보이는 것일까? 라는 의문이 들었다.

H.264/AVC vs VP8

사실 최근 굉장히 많은 비디오 코덱들이 사용되고 있지만 실제 비디오 코딩에 사용되는 알고리즘은 다 다음과 같은 스킴을 사용하고 있다.

Encoder: Prediction(Inter, Intra)[1] – Transform – Quantization – Entropy Coding – (In-loop filtering)
Decoder: Inverse entropy coding – Inverse Quantization – Inverse Transform – Prediction – (In-loop filtering)

물론 위 프로세스를 프레임 단위로 하는 것은 아니고 특정 사이즈의 block 단위로 위 프로세스를 거치게 된다.

하여튼 위의 내용을 바탕으로 x264 진영에 올라온 ‘The first in-depth technical analysis of VP8‘를 살펴보자.

H.264/AVC에서 각 파트를 위해 사용하는 기술과 VP8에서 사용하는 기술을 비교해보면 다음과 같다.

Table 2. H.264/AVC와 VP8의 파트별 기술 비교
구분 H.264/AVC On2 VP8
Intra prediction 9 방향의 4×4, 9 방향의 8×8, 4방향의 16×16 H.264/AVC의 4×4 모드, 16×16 모드의 동일하며, 8×8 모드는 없음
Ref frame 개수 up to 16 up to 3 (이전 프레임, 골든 프레임, alt ref 프레임)
양방향 예측 (B-frame) 가능 불가능
파티션 타입 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, 4×4 16×16, 16×8, 8×16, 8×8, 4×4
Sub-pel 모션 탐색 1/2 및 1/4 픽셀 단위 1/2 및 1/4 픽셀 단위
Transform 단순화 된 DCT 단순화 된 DCT (H.264/AVC보단 덜 단순화)
Entropy Coding 바이너리에 대한 적응적 Arithmetic coding or VLC 기반의 엔트로피 코더 바이너리에 대한 Arithmetic coding으로 비트에 대한 확률 정보는 전송 필요
In-loop filter 적응적 Deblocking filter H.264/AVC의 그것과 비슷하지만 적응적이지는 않은 Deblocking filter

얼핏 봐도 H.264/AVC에 적용된 기술들에 비해 VP8에 새롭게 적용된 기술이 없음을 알 수 있다. 있다면 골든 프레임과 Alt ref(?) 프레임 정도? 그 외엔 H.264/AVC에 사용된 기술의 minor modification 정도라고 얘기할 수 있을 듯. 그리고 양방향 예측[2]이 빠졌기 때문에 압축 효율 상의 불이익이 있을 수 밖에 없다.

그리고 H.264/AVC Baseline Profile에는 CABAC(Context adaptive Arithmetic Coder) 대신 CAVLC가 사용되었으므로, 엔트로피 코더 면에선 VP8이 H.264/AVC BP보다 더 좋은 성능을 보일 수도 있겠다는 생각이 든다.

어쨌든 VP8은 성능 면에서 H.264/AVC와 대적할 수 없을 것으로 보이며, 실제 x264의 분석에서도 동일한 내용이 보고되고 있다.

WebM은 정말 License free를 보장해줄 수 있을까?

지난 며칠건 WebM과 관련된 글들이 올라올 때마다 드는 의문이 있다. 과연 WebM이 특허 문제에서 자유로울수 있을까 하는 것이 바로 그것이다.

사실 특허 문제를 검색해보면, H.264/AVC에 적용된 특허들 중 대다수가 VC-1에도 적용되어 있다. 그럴 수밖에 없는게 앞에서 얘기했다시피 다 기술 조합 방식의 차이이고, 어떤 기술에 대한 minor modification 들이기 때문에 원천 특허가 있을 경우 이를 피해가기가 거의 불가능하다.

살펴봤듯이 VP8의 Intra predictio은 H.264/AVC의 그것과 동일하다. H.264/AVC에 적용된 특허가 그대로 적용될 수 있다는 것이다. In-loop filter 같은 경우도 마찬가지로 H.264/AVC에 적용된 특허를 피해갈 수 없을 것으로 생각되며 그 외의 다른 부분들에 대해서도 아직 노출되지 않은 수많은 특허들을 침해하고 있을 지도 모른다.

JPEG과 특허 괴물의 사례

얼마 전 JPEG을 위기에 몰아넣었던 사례가 있다. 원래 JPEG 계열은 라이센스 프리를 목적으로 표준화된 포멧이지만, 어느 날 갑자기 어떤 회사가 혜성처럼 나타나 JPEG이 자신들의 특허를 침해하고 있다며 큰 회사들을 상대로 특허권 침해 소송을 한 사건이 바로 그것이다.

그 결과 MS, S-, … 등 많은 회사에서 거액의 특허권료를 지불해야했던 사건이 있었으며, 이로 인해 JPEG에 대한 특허 재심사 요구까지 생겨났고, 무료 표준으로써의 JPEG이 존폐 위기를 맞을뻔 했었다.

VP8은 아직 위험하다.

VP8은 아직 위험하다. 침해하는 특허 등에 대한 제대로된 분석 없이 구글의 언론 플레이에 휩싸여 VP8을 지원하는 것은 정말 위험할 수 있다.

H.264/AVC, VC-1 등은 MPEG-LA를 통해 특허를 침해하지 않으면서 안전하게 사용할 수 있는 합리적 라이센스료를 보장하고 있다. 하지만 VP8은 다르다. 라이센스 프리라고 주장하고 있지만 이면을 살펴보면 특허 침해로 인해 라이센스료를 내는 것보다 더 많은 금액을 들여야할 지도 모른다.

Web에 사용되는 기술이라면 굉장히 파급효과가 큰 만큼 특허를 침해하는 기술을 사용했을 때 오는 반동이 그만큼 더 커질 수 있으며, 이런 상황을 봤을 때 신중할 필요가 있다고 생각한다.

오픈소스는 라이센스 프리를 의미하지 않는다. 구글이 이걸 모르지 않을거라 생각하는데, 무슨 생각인 건지 난 잘 모르겠다.

  1. Inter는 현재 프레임 만을 이용해서 예측하는 것이 아니라 이미 복원된 프레임을 이용해서 예측한다는 것을 의미하며, Intra는 현재 프레임(그것도 이미 인코딩/디코딩되어있는 현재 프레임) 만을 이용해서 예측을 진행한다는 것을 의미한다. []
  2. 시간 축 상에서 봤을 때 앞에 위치한 프레임과 뒤에 위치한 프레임 모두에서 예측하는 방식으로 양방향 예측으로 인한 압축 효율 이득은 평균 10~20% 정도이다. []

This entry was posted by 정태영 on Saturday, May 22nd, 2010 at 1:11 PM and is taged under , , , , , , , , , , , , , , , , , , .

#0.

토익 점수의 유효 기간이 한 달 밖에 남지 않았다는 메일이 왔다. 아직 군 문제가 해결되지 않았고, 군 복무 연기는 박사 수료 전까지만 가능하므로 다음 학기에는 취업을 준비해야할 지도 모르겠다.

그러려면 토익 점수가 필요하므로 다음 달 토익 시험을 신청해야만 했다.

난 시험을 위한 공부가 너무 싫다. 학부 때도 그랬고, 대학원에 온 후에도 이 생각은 달라지지 않았다. 덕분에 쉽게 갈 수 있는 길을 돌아가고 있는건지도 모르겠다.

#1.

지난 해 초부터 차세대 비디오 코덱 표준화와 관련된 프로젝트를 담당하고 있고, 덕분에 참 많은 걸 배우고 있다. 석사 때는 베이어 필터를 통해 얻어진 영상의 복원을 위한 디모자이킹(Color filter interpolation) 쪽을 주로 연구했었는데, 이 프로젝트를 담당하면서 연구 주제를 비디오 코덱 쪽으로 돌리게 되었다.

어쨌든 표준화 회의를 참석하고, 프로젝트를 리딩하면서 차세대 비디오 코덱을 위해 리뷰되고 있는 기술 동향이나, 코덱 표준화와 관련된 이면(특허, 표준화 전쟁 등)을 이해할 수 있게 되었다.

대학원에 다녔던 많은 지인들에게서 프로젝트로 인한 로드에 대한 불만을 많이 들어왔는데, 다행히 난 내가 맡은 프로젝트를 정말 재밌게 진행하고 있다.

사실 비디오 전공이라곤 했지만 지난 해 초까지만 해도 H.264/AVC에 어떤 코딩 툴이 사용되었는지에 대한 아주 개략적인 것 밖엔 알고 있지 못했는데, 지난 1년 간의 노력 끝에 슬슬 H.264/AVC의 성능을 꽤 끌어올릴 수 있는 기술들을 개발해내기 시작했다.

결과나 접근법이 개인적으론 상당히 맘에 든다. 이걸 가지고 컨퍼런스용 논문 2개와 저널용 논문 하나를 준비 중에 있다. 조금 더 부지런했더라면 진로에 대한 고민을 좀 덜할 수 있었을텐데 조금은 아쉽다.

운좋게 학교에 더 남아있을 수 있다면 HEVC 표준화의 시작과 끝 모두를 볼 수 있을 거 같아 좋을 거라 생각하지만 쉽진 않을 것 같다. 슬슬 변화를 준비해야겠다.

#2.

방황하던 학부생 때 군대를 다녀왔으면 현재 나는 어떤 모습일지를 가끔 상상하곤 한다.

상상이 되질 않는다. 어짜피 지난 이야기…

#3.

짤막한 하루하루의 일상, 생각에 대해선 트위터/미투데이 등에서 배설하고 있기 때문에 블로그에 글을 남기는 일이 줄어들게 되는거 같다.

나누고 싶은 긴 의견들도 있긴 하지만 이래저래 정신이 없어서 글을 완성하지 못하고 있다. 아쉽다. 부지런해져야할텐데…

#4.

구글 Adsense를 해지해야겠다는 생각을 한 지 좀 됐는데, 귀찮아서 실천을 못하고 있다. 어짜피 수익은 거의 $0에 가까운데, 로드만 느리게 만드는 것 같다.

잉여짓 그만하고 이거부터 처리해야할텐데…

#5.

작업(?) 좀 할까해서 스타벅스에 나왔는데, 또 잉여잉여하고 있다. 쀍!!

This entry was posted by 정태영 on Friday, May 21st, 2010 at 8:39 PM and is taged under .

지난 해 구글은 VP시리즈 코덱을 소유하고 있던 On2를 사들였고, 얼마 전 VP8을 오픈소스로 공개하겠다고 선언했다. 이후 HTML5의 Video tag를 위해 VP8을 사용하자는 이야기들이 많이 나오고 있지만 VP8은 이를 위한 답이 될 수 없다.

오픈소스는 라이센스 프리를 의미하진 않는다

얼마 전 FSF 측에서 스티브 잡스에게 공개 서한을 띄웠다. 그 중 일부를 발췌해보자면 다음과 같다.

원문: May I remind you that H.264 is not an open standard? This video codec is covered by patents, and “vendors and commercial users of products which make use of H.264/AVC are expected to pay patent licensing royalties for the patented technology” (ref). This is why Mozilla Firefox and Opera have not adopted this video codec for their HTML5 implementation, and decided to chose Theora as a sustainable and open alternative

번역: H.264는 open standard가 아니라는 사실을 얘기했던가요? H.264 코덱은 특허로 보호를 받고 있으며 ‘이 코덱을 상업적으로 사용하는 사용자나 회사들은 특허에 대한 로열티를 지불해야합니다.’ 그렇기 때문에 모질라 파이어폭스나 오페라에서는 HTML5를 구현하기 위해 H.264가 아닌 Theora를 사용하고 있죠.

이에 대해 스티브 잡스가 아래와 같이 응답했다.

원문: All video codecs are covered by patents. A patent pool is being assembled to go after Theora and other “open source” codecs now. Unfortunately, just because something is open source, it doesn’t mean or guarantee that it doesn’t infringe on others patents. An open standard is different from being royalty free or open source.

번역: 모든 비디오 코덱은 특허로 보호받고 있으며, Theora 등의 ‘오픈소스’ 코덱에 발목을 잡기 위한 특허 풀들이 구성되는 중입니다. 안타깝게도 오픈소스라는 사실이 특허들로부터 자유로울 수 있다는 걸 의미하진 않습니다. Open standard는 로열티 프리나 오픈소스와는 다른 개념입니다.

그리고 kmug나 파코즈 등에서는 이에 대해 부정적인 의견들(1, 2)이 확산되기 시작했다.

하지만 스티브잡스가 하고 있는 말은 틀린 말이 아니다. 오픈소스라는 점이 중요한 것이라면 H.264/AVC도 오픈소스 구현을 가지고 있다. x264는 H.264/AVC라는 표준에 대한 오픈소스 구현이다.

사실 비디오 코덱은 수십가지가 있지만 이 코덱들에서 사용되는 툴들이 아주 제각각인건 아니다. 대부분 비슷한 툴들이 사용되고 있으며, 그 조합이나 세부 내용들이 다를 뿐이므로 MPEG-2에 포함된 특허 중 많은 특허들이 MPEG-4, MPEG-4 part 10 AVC/H.264, VC-1 등에 동일하게 적용된다. 또한 현재는 크게 문제 삼지 않고 있지만 Ogg Theora가 기반으로 삼고 있는 On2의 VP시리즈 또한 이런 특허들로부터 자유로울 수 없다.

MPEG이나 IETF 등에서 Type-1(License/Royalty free)에 대한 표준화를 준비하고 있는 이유가 바로 이런 이유이다.

소프트웨어 특허는 유럽에선 적용되지 않으니 상관없지 않으려나?

위에 링크를 건 글들을 읽다보니 유럽에서는 소프트웨어에 대한 특허가 적용되지 않으니 상관이 없지 않겠느냐라는 이야기가 있다.

하지만 하드웨어 디코더는 이야기가 다르다. 만약 HTML5 Video codec을 위해 Theora가 체택된다면 Theora를 하드웨어적으로 지원하는 그래픽 카드들이 출시되기 시작할 것이고, 이런 하드웨어들은 특허 문제에서 자유로울 수 없다. 게다가 파워가 모자란 저전력 모바일 디바이스 또한 하드웨어 디코더가 필요할 것이며, 이미 산업계에서 주력으로 사용되고 있는 H.264를 무시할 순 없을테니 대부분의 모바일 디바이스/그래픽 카드는 H.264와 Theora 두 코덱 모두를 위한 디코더를 내장할 수 밖에 없을 테고 오히려 라이센스 비용만 두 배가 되는 문제가 생길 것이다.

참고로 HD-DVD를 위해서는 VC-1과 H.264/AVC를 선택적으로 사용할 수 있도록 되어 있기 때문에 대부분의 그래픽카드에는 H.264와 VC-1을 위한 파이프라인이 동시에 포함되어 있다. (물론 둘 모두를 위한 라이센스는 지불)

오히려 이런 측면에서 본다면 Video태그를 위해 H.264를 사용하는 것이 더 나을지도 모른다.

애플이 H.264를 무료로 풀면 안되나?

H.264의 정식 풀네임은 MPEG-4 Part 10. AVC/H.264이며, ISO/IEC의 MPEG과 ITU-T의 Q.6(VCEG)이 표준화를 진행했다. 다시 말해 애플이 가지고 있는 코덱이 아니란 얘기다.

이 코덱에 대한 라이센스는 MPEG LA(License Agent)라는 특허 풀에서 관리를 하고 있으며, H.264/AVC에 대해 특허를 가지고 있는 회사들의 리스트는 다음 링크에서 확인할 수 있다.

http://www.mpegla.com/mai...vc/Documents/avc-att1.pdf

만약 위 문서를 봤음 알겠지만 애플은 단지 1개의 특허를 그나마도 미국 한 곳에서만 가지고 있을 뿐이다. 그 특허가 핵심 특허인지 아닌지가 중요한게 아니냐고 생각할 수도 있다. 하지만 MPEG LA는 특허의 중요도를 판단하지 않는다. 그저 개수를 가지고 판단할 뿐이다.

결국 애플 또한 H.264/AVC를 지원하는 제품을 팔기 위해 로열티를 내고 있는 업체 중 하나일 뿐이라 할 수 있다.

그럼 여전히 답은 없는건가?

MPEG LA에서는 웹의 파급력을 무시하지 못하는 관계로 웹을 통해 스트리밍하기 위해 H.264/AVC를 사용하는 경우 2012년까지 로열티를 받지 않겠다고 선언했지만 그 후로 어떤 라이센스 정책을 펼지는 알 수가 없다.

또한 Type-1(Royalty/License Free) 라이센스를 가지는 코덱을 표준화하자는 이야기도 있지만 ISO에서는 후에 생기는 특허 문제를 보장할 수 없다는 입장이며, 돈이 안되는 표준화에 많은 회사에서 참석할리 없으므로 그다지 밝은 전망을 보이고 있다곤 할 수 없다.

이건 정말 간단한 문제가 아니다.

덧: Theora는 소프트웨어 가속이 안되기 때문에 사용하지 않는다?라는 내용이 있는데 이는 별 문제가 되질 않는다. HTML5의 video codec으로 Theora가 체택되었다는 말이 나온다면 몇 달 내로 수백개의 하드웨어 디코더가 나오게 될 것이므로 이는 전혀 문제가 되질 않는다고 할 수 있다.

Theora의 하드웨어 디코더를 만들어봐짜 쓰이는 곳이 없으므로 안만들 뿐이다. 그 복잡한 H.264/AVC마저도 하드웨어 디코더를 통해 실시간 디코딩에 아무 문제가 없으면서 전력 마저 얼마 사용안할 수 있도록 만들었는데, 훨씬 이전의 기술인 Theora를 이렇게 구현 못한다는건 말이 되지 않는다.

믹시