Xvid

Xvid(이전 명칭은 XviD, )는 MPEG-4 표준을 따르는 영상 코덱 라이브러리이다. Xvid는 b-프레임, 전체와 1/4 화소 움직임 보상, 루미 마스크, 격자 양자화와 같은 MPEG-4 ASP 기능을 지원한다. H.263, MPEG과 커스텀 양자화 매트릭스 등도 지원한다.

Xvid는 DivX(Xvid는 DivX를 거꾸로 씀)의 첫 번째 경쟁 코덱이다. DivX는 상용 소프트웨어이지만, Xvid는 자유/오픈 소스 소프트웨어이고, 마이크로소프트 윈도우와 맥 OS X만을 지원하는 DivX와는 대조적으로, Xvid는 다양한 플랫폼과 운영 체제에서 사용될 수 있다.

역사 
2001년 1월에 DivX 네트웍스는 오픈소스 멀티미디어 프로젝트들의 시발점인 프로젝트 마요의 일부로 '오픈DivX'를 설립하였다. 오픈DivX는 모무시스(MoMuSys) 참조 MPEG-4 인코더의 폭로된 버전을 기반으로 만들어진 오픈소스 MPEG-4 영상 코덱이다. 그러나 소스코드는 제한된 라이선스로 제공되었고 DivX 고급 연구 센터(DARC)의 회원만 개발 계획 CVS에 접근해서 작성했다. 2001년 초에 DARC 회원 스파키()는 앙코르2라고 불리는 인코딩 코어의 향상된 버전을 활발하게 개발하였다. 이전까지는 몇 번 업데이트됐으나 4월에는 어떤 안내도 없이 CVS에서 제거되었다. 스파키는 “우리(우리의 사장)는 아직 공개할 준비가 안 됐다고 결정하였다.”라고 변명하였다.

2001년 7월에 개발자들은 개발 진행이 더디게 진행되는 것에 대하여 불평하기 시작하였다. 최신 CVS 기여는 몇 개월이나 지나고, 버그 수정은 무시되었으며, 예정된 코드는 기록되지 않았다. 얼마 뒤에 DARC는 인코어2 기반인 비공개 소스 상용버전 DivX 4 코덱의 베타버전을 발표하였으며, “공동체가 원하는 것은 윈앰프이지, 리눅스가 아니다”라고 말했다. 대중은 DivX4의 용도가 수익 목적으로 판매하려고 오픈DivX를 시작한 DivX네트워크를 고소했으며, 어떤 사람은 코덱이 작업이 정체된 것에 실망하며 개발 계획이 계속 작업되기를 원했다. 반면에 다른 사람은 DivX네트워크가 소위 오픈소스 프로젝트를 처리하는 방법에 대하여 분노했다. 이것은 앙코르2가 삭제되기 전에 다운로드했던 앙코르2의 최신 버전을 사용하여  오픈DivX의 포크를 만든 이후였다. 그때부터 모든 오픈DivX 코드는 대체되었고, Xvid는 GNU 일반 공중 사용 허가서로 발표되었다.

법적 문제 
MPEG-4 파트 2의 구현으로서, Xvid는 많은 특허 기술들을 사용하였다. 이런 이유 때문에, Xvid 0.9.x 버전은 해당 기술에 대한 특허권이 적용되는 나라에서 라이선스를 얻지 못하였다. 1.0.x 발표와 함께, GNU 일반 공중 사용 허가서 버전 2 라이선스는 명백한 지리적 제한없이 사용된다. 그러나 여전히 Xvid의 사용은 현지법에 따라 제한된다.

시그마 디자인 논쟁 
2002년 7월, 시그마 디자인은 '리얼매직 MPEG-4 영상 코덱'이라고 불리는 MPEG-4 영상 코덱을 발표하였다. 오래지 않아, 이 새로운 코덱을 테스트하던 사람들은 그 코덱이 Xvid 코덱의 상당 부분 포함하고 있음을 발견했다. 시그마 디자인에 연락하자 한 프로그래머가 리얼매직이 Xvid기반으로 만들어졌다고 확인해 주었다. 그렇지만 시그마 디자인은 저작권 침해를 피하기 위해 모든 일반 공중 사용 허가서 코드는 다른 것으로 대체될 것이라고 확언해 주었다. 당연히 갱신되었을 것으로 생각된 리얼매직 코덱을 시그마 디자인이 발표하자, Xvid 개발자는 즉시 역어셈블링하였고, Xvid 코드의 존재를 위장하기 위해서 단지 재배치하였지만, 여전히 Xvid 코드를 포함하고 있다고 결론내렸다. Xvid 개발자는 시그마 디자인이 일반 공중 사용 허가서의 조건을 준수하도록 강제하기 위해 작업을 멈추고 공개 활동을 하기로 결정하였다. 슬래시닷과 인콰이어에 기사가 공개된 이후에, 2002년 8월에 시그마 디자인은 소스 코드를 공개하는데 동의했다.

Xvid 인코딩 파일 재생 
특허에 대한 우려 때문에, 공식 Xvid 홈페이지는 Xvid 코덱을 바이너리 파일 형태로 제공하지 않는다. 그러나 마이크로소프트 윈도 운영체체의 윈도용 영상 코덱(다이렉트쇼 인코딩 전용 필터를 포함하는)은 고객지원 웹사이트에서 내려받아 사용할 수 있다.
리눅스 사용자를 위해서, 많은 배포판은 MPlayer와 VLC같은 미디어 플레이어로 재생하기 위해 Xvid 코덱을 제공한다. 그러나, 모든 이런 플레이어는 기본으로 FFmpeg MPEG-4 인코더를 사용하고 그러므로 Xvid 코덱 인코딩은 요구되지 않는다(또는 지원되지 않는다).

Xvid는 MPEG-4 ASP 압축을 사용하기 때문에 Xvid로 인코딩된 영상은 MPEG-4 ASP 영상이고, 그러므로 대부분의 모든 MPEG-4 ASP 디코더로 디코딩될 수 있다. 여기에는 수많은 미디어 플레이어를 포함하며, 특히 자유/오픈 소스 FFmpeg의 libavcodec 라이브러리의 기반인 플레이어(예를 들어 MPlayer, VLC, ffdshow or Perian)를 포함한다.

Xvid로 인코딩된 파일은 CD나 DVD에 기록할 수 있으며 DivX와 호환되는 DVD 재생기에서 재생할 수 있다. 그러나 Xvid는 선택적으로 고급 MPEG-4 기능들을 사용할 수 있는데 그럴 경우 DivX 인증을 받은(DivX Certified) 재생기에서는 지원하지 않는다. 전역 움직임 보상, Qpel, MPEG 양자화, 다중 B-프레임으로 인코딩된 파일이나 VBV 한계를 넘은 DivX 인증 하드웨어 장치에서 파일을 제대로 재생하지 못할 수도 있다.

예를 들어, Xvid는 전역 움직임 보상의 구현을 위해서 1개의 워프 포인트를 규정하는 DivX와는 다르게 3개의 워프 포인트를 규정한다. 고급 인코딩 기능을 사용할 경우 재생기의 호환성을 떨어뜨릴 수 있다. Xvid 인코딩을 자동화하는 AutoGK와 같은 도구에서 사용되는 커스텀 양자화 매트릭스와 관련해 약간의 문제가 존재한다. 이것은 DivX 호환되는 DVD 재생기에서 불안정한 재생과 인공적인 영상을 발생시킨다. 그러나 최신의 DivX 호환 DVD 재생기는 커스텀 양자화 매트릭스에 대한 지원이 강화되었다.

인코딩 소프트웨어

같이 보기 

 코덱 비교
 영상 코덱 목록

각주

외부 링크 
 XviD 홈페이지
 XviD 설치/참조 지침서 @ 디지털 다이제스트
 Xvid 바이너리 다운로드 페이지 - 공식사이트 윈도/리눅스 바이너리 링크
 Xvid 소스코드 다운로드 페이지
 Xvid 퀵타임 컴포넌츠 - MacOS X용 비공식 Xvid 컴포넌트

영상 코덱
자유 멀티미디어 코덱