코덱, H.264 & VP8 도대체 뭔 소린가?

2011. 3. 8. 11:02하루에하나씩/트렌드, 기초 IT 정보

최근 IT 뉴스에서 자주 나오는 내용중에 H.264 코덱 이야기가 심심치 않게 나오고 있다.
간단하게 이 부분에 대한 설명을 해보고자 한다.



우선 용어부터 간단히 설명을 들어 간다.
- 코덱(codec) : 컴프레져/디컴프레져 , 컴프레져/디컴프레져 알고리즘, 코더/디코더 등의 용어로 풀이된다. 다시말해 동영상이나 소리 등을 인코딩/디코딩 할수 있는 하드웨어 나 소프트웨어, 알고리즘을 일컫는다. 쉽게 풀어서 데이터 압축 기능을 사용하여 동영상이나 소리등을 다른 형태로 변환하는 기술이다.
MPEG : 엠펙 이라고 읽더군요, ISO 및 IEC 산하에서 비디오와 오디오 등 멀티미디어의 표준 개발 담당하는 그룹 이름이고, H.264/AVC 표준을 공동 제정하고 있다고 합니다.
(MPEG-1 ,2,3,4,7,21 등 많이 들어본... MPEG-4 동영상 표준은 MPEG-4 Part 2 비주얼에 해당하며 흔히 H.264라 부르는 코덱이 MPEG-4의 Part 10 어드밴스드 비디오 코딩으로 정의 되어 있습니다.
영상/음성 "객체", 3D 컨텐츠, 저속 비트율 인코딩, 디지털 재산권 관리 지원 등을 포함하고, 멀티미디어 통신에서의 이용을 위해 만들어 지고 있으며, 영상 압축 기술 인터넷 과 이동 통신 환경에서 사용되고 있답니다.
- ASF : 능동 스트리밍 포멧, 고급 시스템 포멧, 고급 스트리밍 포멧 이라고 하며 MS에서 만든 영상과 소리를 담는 포멧으로 MPEG4 기술을 사용하고 있습니다.
- DivX : DVD의 대여 전용 포멧 및 시스템 용어로 시작했다가, 망하고... 한 해커 그룹에 의해 DVD 암호가 풀리고 MS의 MPEG-4를 변조해 DVD를 압축하는 코덱이 이름을 DivX로 지으면서 재 등장 했답니다. (원칙적으로는 이를 이용해 만든 동영상을 배포하는 것은 불법이랍니다;;;)
- H.264 : 매우 높은 데이터 압축률을 가지는 디지털 비디오 코덱 표준으로 MPEG-4 파트 10 또는  AVC 라 불립니다. ITU-T의 H.264 와 ISO/IEC 의 MPEG-4 파트 10은 기술적으로 동일한 표준안이랍니다.
- wmv9 : MS 원도우 미디어 포멧...
(오디오)
-MP3 : 오디오 압축 포멧이고, PCM 오디오 데이터에서 실제작으로 사람이 들을수 없는 부분이나 필요없는 부분을 버리고 다시 인코딩하는 방식이랍니다. MP3에서 사용하는 기술의 대부분은 음향 심리학에서의 오디오 데이터의 어느 부분을 폐기 할것인가를 결정하는데 있다고 합니다.
- AC3 : 돌비 디지타에서 만든 오디오 포멧중 하나로 AC3는 5.1 채널에 기반해 2채널의 MP3 보다 훨~좋은 음질 자랑.
AAC : 디지털 오디오에서 쓰이는 표준적인 손실 데이터 압축방식이다.
애플 아이폰,아이팟...등에 사용되는 기본 오디오 포멧(아이튠즈의 모든 음원에 사용,소니 플스3 에도)
최대 48채널로 확장 가능, 고정 비트레이트에서도 필요에 따라서 비트를 가변적으로 할당
 OGG - 오픈 표준 파일
FLAC :  손실이 발생하지 않는 파일이랍니다.

휴... 위 내용은 내가 한번씩 기억하려고 적어 놓은 것이고,
다시한번 자세히 읽어 보실분들은 아래 URL를 기재 해두도록 하겠습니다.(검색하면 사실 다 나와)

http://www.ebuzz.co.kr/content/buzz_view.html?ps_ccid=83500

그렇다면 본격적으로 이슈 사항에 대한 내용입니다.


구글의 크롬 브라우저에서 HTML5 동영상 기술인 "H.264" 코덱을 빼고, 오픈소스 진형의 오그테오라와 VP8 코덱만 지원하겠다고 발표 했다.
이유인즉 H.264 는 라이센스 비용이 발생하는 부분 때문에, 오픈소스의 VP8로 전향하겠다라는 뜻이다.
플래시를 정말정말 싫어하는 애플에서는 플래시 대체 기술로 H.264를 강조했고,  MS 에서도 물론 현존하는 웹동영상 코덱 가운데 가장 인기있는 기술이라하여, H.264를 지원하고 있다는 점과 상반되는 내용이다.

구글 유뷰브 에서 현재 VP8 코덱을 지원하고 있다.
또한 W3C의 도움을 받을수 없다는 단점이 있다.

관련 기사 : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20110113082723
엠펙LA 와 구글 간의 전쟁 : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20110307175547

그렇다면 왜 이런걸 찾았을까?
우선 FFmpeg 를 회사에서 사용하고 있다보니.. 검색하다가 사실 여기까지 왔다.
영상,음성 처리를 위한 프로그램 제작을 위해 사용할 모양이다.

http://ffmpeg.org/


- FFmpec : 디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태로 기록,변환 프로그램
FFmpeg는 명령어를 직접 입력하는 방식으로 동작하며 여러가지 자유 소프트웨어와 오픈 소스 라이브러리로 구성되어 있다. 라이브러리 중에는 libavcodec도 들어있는데, 이 라이브러리는 음성/영상 코덱 라이브러리로 여러 프로젝트에서 쓰이고 있다. 또, libavformat 라는 음성/영상 다중화, 역다중화 라이브러리도 있다. 이 프로젝트의 이름은 MPEG 영상 표준화 그룹에서 유래했고, "mpeg" 앞에 붙은 "FF"는 "fast forward"를 의미한다.
FFmpeg은 리눅스 기반 하에 개발 되었지만, 'Apple Inc. Mac OS X', 'Microsoft Windows', 'AmigaOS' 등 대부분의 운영체제에서 컴파일이 가능 하다.
-(위키 백과 : http://ko.wikipedia.org/wiki/FFmpeg )

- libavcodec : 자유 소프트웨어이자 LGPL 라이선스가 걸린 오픈 소스이다. 이 코덱은 영상 데이터와 음성 데이터를 인코딩하고 디코딩할 수 있다. C 언어로 구현되었다. FFmpeg 프로젝트의 한 부분을 차지하고 있으며 많은 자유 소프트웨어, 오픈 소스 응용 프로그램들이 libavcodec을 사용하고 있다.
(위키 백과 : http://ko.wikipedia.org/wiki/Libavcodec )


아는게 힘이다! ㅎㅎㅎ