HTML5 Video tag? Opensource codec will be a solution?

지난 해 구글은 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/main/programs/avc/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를 이렇게 구현 못한다는건 말이 되지 않는다.

Published by

One thought on “HTML5 Video tag? Opensource codec will be a solution?”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">