x264
| 원저자 | Laurent Aimar |
|---|---|
| 개발자 | x264 팀 |
| 저장소 | |
| 프로그래밍 언어 | C, 어셈블리어 |
| 종류 | 영상 코덱 |
| 라이선스 | GNU 일반 공중 사용 허가서 (상용 라이선스도 이용 가능)[1] |
| 웹사이트 | VideoLAN.org/developers/x264.html |
x264는 H.264/AVC 비디오 스트림을 인코딩하는 자유 소프트웨어 라이브러리다.[1] 참고로 이것은 디코딩 기능은 포함하고 있지 않다. GPL 라이선스[1]로 배포되며 이는 오픈 소스이므로 이용에 특별한 제약은 없다.
역사
[편집]x264은 로랑 에마르(Laurent Aimar)가 처음으로 만들기 시작했다. 현재 오런 메릿, 제이슨 개릿글레이저, 스티븐 월터스, 안톤 미트로파노프, 헨리크 그람네르, 대니얼 강 등이 주도적으로 개발하고 있다.
기능
[편집]x264는 명령줄 인터페이스와 API를 제공한다. 전자는 Staxrip[2]이나 MeGUI[3]와 같은 많은 그래픽 사용자 인터페이스에서 사용된다. 후자는 HandBrake[4] 및 FFmpeg[5]를 포함한 여러 인터페이스에서 사용된다.
x264는 다른 H.264 인코더와 비교하여 방대한 양의 기능을 구현하고 있다.
x264에는 인코딩된 영상의 주관적 영상 품질을 높이기 위한 몇 가지 정신시각적 향상 기능이 포함되어 있다.
- VAQ를 사용하는 두 가지 모드의 적응형 양자화. 나중에 추가된 두 번째 모드는 품질 향상을 위해 프레임당 강도를 조정한다.[6]
- 유사한 복잡도를 유지하려는 정신시각적 비트레이트-왜곡 최적화. 복잡도는 최소제곱법 최적화(SSD)와 절대 변환 차 합(SATD)의 조합을 사용하여 측정된다.[7]
- 프레임의 일부가 미래 프레임을 예측하는 데 얼마나 자주 사용되는지 추적하여 품질을 제어하는 매크로블록 트리 비트레이트 제어.[8]
x264는 다음과 같은 코덱 비교 평가에서 수상한 바 있다.
- 제3회 연례 MSU MPEG-4 AVC/H.264 영상 코덱 비교, 2006년[9]
- 제4회 연례 MSU MPEG-4 AVC/H.264 영상 코덱 비교, 2007년[10]
- 제5회 연례 MSU MPEG-4 AVC/H.264 영상 코덱 비교, 2009년[11]
- 제6회 연례 MSU MPEG-4 AVC/H.264 영상 코덱 비교, 2010년[12]
- 제7회 연례 MSU MPEG-4 AVC/H.264 영상 코덱 비교, 2011년[13]
- 제8회 연례 MSU MPEG-4 AVC/H.264 영상 코덱 비교, 2012년[14]
x264는 X86, 파워PC(AltiVec 사용), ARMv7(NEON 사용) 플랫폼에서 SIMD 어셈블리 코드 가속을 지원한다.
x264는 키프레임 대신 주기적 인트라 리프레시(Periodic Intra Refresh)를 사용할 수 있으며, 이를 통해 각 프레임의 크기를 동일하게 제한하여 각 슬라이스를 단일 UDP 또는 TCP 패킷으로 즉시 전송하고 수신 즉시 디코딩할 수 있게 한다.[15] 주기적 인트라 리프레시는 영상의 한쪽 끝에서 다른 쪽 끝으로 이동하는 인트라 블록 열을 사용하여 이미지를 "리프레시"함으로써 키프레임을 대체할 수 있다. 결과적으로 큰 키프레임 하나 대신, 키프레임의 역할이 여러 프레임에 걸쳐 "분산"된다. 이 상태에서도 영상 탐색(Seek)이 가능하다. SEI 복구 지점(SEI Recovery Point)이라 불리는 특수 헤더가 디코더에 "여기서 시작하여 X개의 프레임을 디코딩한 후 영상을 표시하기 시작하라"고 지시한다. 이는 프레임이 로드되는 동안 사용자에게 리프레시 효과를 숨겨준다. 모션 벡터가 제한되어 리프레시 열의 한쪽에 있는 블록이 다른 쪽의 블록을 참조하지 않도록 함으로써 각 프레임에 실질적인 경계선을 만든다.
2010년 4월, x264 프로젝트는 블루레이 표준을 완전히 준수하는 영상 인코딩 기능을 발표하여, x264가 최초의 자유 소프트웨어 블루레이 준수 H.264 인코더가 되었음을 알렸다.[16] x264는 이전에도 대부분의 블루레이 기기에서 재생 가능한 영상 스트림을 생성할 수 있는 능력이 있었으나, 적절한 변환 설정을 선택하는 것은 사용자의 몫이었다. 기본 x264 프리셋은 블루레이 플레이어와의 적절한 호환성을 선택하지만, 이제는 블루레이 호환 모드를 명시적으로 활성화함으로써 호환성을 유지하면서도 더 복잡한 변환 설정을 선택할 수 있다. 블루레이 호환성은 교차 기기 호환성, 특히 고화질 하드웨어 미디어 플레이어 분야에서 유용할 수 있다.
Tandberg 논란
[편집]2010년 11월, x264 개발자인 피오나 글레이저는 시스코 시스템즈의 자회사인 Tandberg 텔레콤의 2008년 12월 특허 출원 중 하나가 자신이 약 2개월 전에 x264 코드베이스에 기여한 알고리즘을 단계별로 설명하고 있다는 내용을 발표했다.[18][19] 이 소식은 언론을 통해 전달되었으며, 언론은 해당 특허를 출원한 회사가 x264 프로젝트의 IRC 개발 채널을 지켜보고 있었고 프로젝트 개발자들에게도 알려진 인물이었다는 점을 지적했다.[20][21] 이에 대해 Tandberg 측은 해당 알고리즘을 독자적으로 발견한 것이라고 주장했다.[22]
x264 프론트엔드
[편집]같이 보기
[편집]각주
[편집]- 1 2 3 “x264 Home Page”. VideoLan Organization. 2011년 3월 11일에 확인함.
In addition to being free to use under the GNU GPL, x264 is also available under a commercial license from x264 LLC and CoreCodec. Contact info@x264licensing.com for more details.
- 1 2 “staxrip/staxrip: 🎞 Video encoding GUI for Windows.”. 《깃허브》. 2021년 7월 1일에 확인함.
- 1 2 “MeGUI - x264/XviD/lavc/Snow encoder with MP4/MKV/AVI output & audio”. 2005년 6월 18일. 2010년 12월 28일에 확인함.
- 1 2 “Handbrake Details”. Handbrake Project. 2011년 7월 27일에 원본 문서에서 보존된 문서. 2011년 3월 11일에 확인함.
- 1 2 “FFmpeg General Documentation”. FFmpeg Team. 2021년 7월 1일에 확인함.
- ↑ “Variance AQ Megathread (AQ v0.48 update--defaults changed)”. 2007년 2월 15일. 2021년 6월 14일에 원본 문서에서 보존된 문서. 2021년 7월 1일에 확인함.
- ↑ “Psy RDO: Official testing thread (version 0.6 out!)”. 2008년 5월 31일. 2021년 5월 6일에 원본 문서에서 보존된 문서. 2021년 7월 1일에 확인함.
- ↑ “x264 "Macroblock Tree Ratecontrol" testing (committed)”. 2009년 8월 3일. 2018년 5월 29일에 원본 문서에서 보존된 문서. 2021년 7월 1일에 확인함.
- ↑ “Third Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison”. 2010년 12월 28일에 확인함.
- ↑ “Fourth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison”. 2010년 12월 28일에 확인함.
- ↑ “Fifth MSU MPEG-4 AVC/H.264 Video Codec Comparison”. 2010년 12월 28일에 확인함.
- ↑ “MSU Sixth MPEG-4 AVC/H.264 Video Codecs Comparison”. 2010년 12월 28일에 확인함.
- ↑ “MSU Seventh MPEG-4 AVC/H.264 Video Codecs Comparison”. 2011년 5월 26일에 확인함.
- ↑ “MSU Eighth MPEG-4 AVC/H.264 Video Codecs Comparison”. 2012년 6월 22일에 확인함.
- ↑ “x264”. 2018년 7월 31일에 원본 문서에서 보존된 문서. 2012년 7월 14일에 확인함.
- ↑ “Announcing the first free software Blu-ray encoder”. 2010년 4월 25일. 2014년 2월 21일에 원본 문서에서 보존된 문서. 2010년 12월 28일에 확인함.
- ↑ “x264 encoded discs — Authoring a professional Blu-ray Disc with x264”. 2020년 10월 23일에 원본 문서에서 보존된 문서.
- ↑ Fiona Glaser (2010년 11월 25일). “Original Tandberg blog post”. x264.nl. 2010년 11월 29일에 원본 문서에서 보존된 문서. 2010년 11월 28일에 확인함.
So why the deja vu? Because this patent application was an exact, step-by-step description of the algorithm I came up with for decimate_score (and later coeff_level_run) in x264 in 2008!
- ↑ Fiona Glaser (2010년 11월 25일). “Patent skullduggery: Tandberg rips off x264 algorithm”. 2010년 11월 28일에 원본 문서에서 보존된 문서. 2010년 11월 28일에 확인함.
- ↑ “Tandberg coder accused of open source theft”. 《usave.co.uk》. 2010년 11월 26일. 2021년 7월 11일에 원본 문서에서 보존된 문서. 2010년 11월 28일에 확인함.
- ↑ “Tandberg rips off an open source project”. 디 인콰이어러. 2010년 11월 26일. 2010년 11월 28일에 원본 문서에서 보존된 문서. 2010년 11월 28일에 확인함.
Tandberg hardly employed any subtlety. The company has one of its employers following the x264 project's IRC development channel and the guy who registered the patent is known to the X264 project.
- ↑ “Tandberg illustrates stupidity of software patent policy”. ZDNet. 2010년 11월 27일. 2021년 7월 1일에 확인함.
- ↑ “Selecting Codecs and Container Formats”. MPlayer. 2011년 3월 11일에 확인함.
- ↑ “RipBot264 1.16.3 - VideoHelp.com Downloads”. 2010년 12월 28일에 확인함.
- ↑ “TMPGEnc Video Mastering Works 5: New Features”. 2012년 9월 28일에 확인함.
- ↑ “Compiling x264 for ProMedia Xpress” (PDF). Harmonic Inc. 2014. 2014년 9월 22일에 확인함.
외부 링크
[편집]- X264
- 공식 웹사이트