맨위로가기

X264

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

x264는 로랑 에마르가 처음 개발을 시작한 H.264/MPEG-4 AVC 비디오 코덱의 오픈 소스 인코더이다. API와 명령줄 인터페이스를 제공하며, Staxrip 및 MeGUI와 같은 GUI에서 사용된다. x264는 분산 적응 양자화 및 비트율-왜곡 최적화와 같은 심리 시각적 향상 기능을 포함하여 높은 화질을 제공하며, 다양한 색 공간 인코딩과 10비트 깊이 인코딩을 지원한다. x86, PowerPC, ARM 아키텍처 플랫폼에서 SIMD 어셈블리 코드 가속화를 지원하며, 낮은 레이턴시, 다양한 비트 전송률 및 품질 제어, 블루레이 디스크 호환 등의 기능을 제공한다. 2010년 탠드버그의 특허 출원과 관련된 논란이 있었으며, x264farm과 같은 분산 인코딩 소프트웨어를 통해 분산 인코딩을 지원한다.

더 읽어볼만한 페이지

  • 어셈블리어로 작성된 자유 소프트웨어 - VirtualDub
    VirtualDub은 윈도우 운영 체제에서 실행되는 무료 오픈 소스 비디오 캡처 및 처리 유틸리티이며, AVI 파일을 주로 처리하고 플러그인을 통해 다른 파일 형식도 지원하며, 동영상 캡처, 편집, 비디오 처리 및 필터 기능을 제공한다.
  • 어셈블리어로 작성된 자유 소프트웨어 - FASM
    FASM은 토마스 그리슈타르가 개발한 어셈블리 언어 컴파일러로, 완전한 어셈블리 언어로 작성되었고 사용자 정의 매크로 지원, 코드 크기 최적화, 자유로운 사전 참조, 그리고 Fresh IDE를 통한 다양한 운영체제 지원이 특징이다.
  • 자유 멀티미디어 코덱 - FLAC
    FLAC은 조시 콜슨이 개발한 무손실 오디오 코덱으로, 원본 음질을 유지하면서 파일 크기를 줄이기 위해 오디오 데이터를 압축하며, 4~32비트 샘플 크기, 최대 8 채널을 지원하고, 미국 국립 문서 기록 관리청에서 디지털 오디오에 선호되는 형식으로 지정되었다.
  • 자유 멀티미디어 코덱 - Vorbis
    Vorbis는 Xiph.Org 재단에서 개발한 로열티 없는 자유 소프트웨어 오디오 코덱으로, MP3의 대안으로 개발되어 가변, 평균, 고정 비트레이트를 지원하며 갭리스 디코딩을 통해 끊김 없는 재생이 가능하고 MP3보다 나은 음질을 제공한다.
  • 영상 코덱 - VP9
    VP9는 구글이 개발한 오픈 소스 비디오 코덱으로, VP8보다 압축 효율을 높이고 HEVC보다 나은 성능을 목표로 개발되었으며, WebM 형식으로 사용되고 주요 웹 브라우저와 넷플릭스, 유튜브 등에서 지원했으나 AV1의 등장으로 개발이 중단되었다.
  • 영상 코덱 - H.262/MPEG-2 파트 2
    H.262/MPEG-2 파트 2는 디지털 TV 및 DVD 등에 사용되는 영상 압축 표준으로, HDTV 카메라의 비압축 영상 스트림을 효율적으로 압축하기 위해 다양한 화면 샘플링 기술을 활용하며, DVD-Video, HDV, XDCAM 등에서 활용된다.
X264 - [IT 관련 정보]에 관한 문서
기본 정보
유형비디오 인코더
라이선스GPL-2.0-or-later 또는 상업 라이선스
웹사이트x264 공식 웹사이트
x264 로고
x264 로고
개발
개발자x264 팀
작성자Laurent Aimar
프로그래밍 언어C, 어셈블리어
기술 정보
플랫폼크로스 플랫폼 (x86, PowerPC, ARMv7 등)

2. 역사

x264는 로랑 에마르(Laurent Aimar)가 처음 개발했다. 현재는 오런 메릿, 제이슨 개릿글레이저, 스티븐 월터스, 안톤 미트로파노프, 헨리크 그람네르, 대니얼 강 등이 주도적으로 개발하고 있다.[3]

2004년 로랑 에마르가 아테메(ATEME)에 고용되면서 개발이 중단되었다가, 이후 로렌 메리트(Loren Merritt)가 개발을 이어받았다.[3] 2008년에는 피오나 글레이저(Fiona Glaser)가 프로젝트에 합류했으나, 2014년에 둘 다 기여를 중단했다. 현재 x264는 주로 안톤 미트로파노프(Anton Mitrofanov)와 헨릭 그라머(Henrik Gramner)가 개발하고 있다.

2. 1. 주요 개발 이력


  • r240: 멀티스레드 지원[3]
  • r264: 무손실 인코딩 지원[3]
  • r570: 인터레이스 지원[3]
  • r581: Video for Windows 공식 지원 삭제[3]
  • r607: 멀티스레드 시 분할 방식 변경 (슬라이스 기반에서 프레임 기반으로)[3]
  • r733: YV12로의 변환 기능 삭제 (사전에 YV12 형식으로 변환해야 함, AviSynth 사용)[3]
  • r1177: 새로운 프리셋 시스템 도입[3]
  • r1327: 가중치 P 프레임 예측 지원[3]
  • r1379: FFmpeg를 통한 입력 지원[3]
  • r1380: 주기적 인트라 업데이트 추가[3]
  • r1480: 블루레이 호환 인코딩 지원[3]
  • r1657: OpenGOP 지원[3]
  • r1666: 9 또는 10비트 인코딩 지원 (출력만 지원하며 입력은 8비트까지)[3]
  • r1731: x264에서 10비트에 대한 거의 완전한 지원 (10비트까지의 입력에도 대응)[3]
  • r1746: libx264에서 x264cli로 DTS 압축 이동 (EditBox를 정상적으로 처리할 수 없는 환경을 위해 x264cli 측의 mp4 멀티플렉서 옵션으로 남겨둠)[3]
  • r1786: 사용자 정의 크로핑 사각형 지원[3]
  • r1801: 최초의 Google Code-In 패치에 의한 리비전 업데이트[3]
  • r1829: 스테레오 3D 영상 지원 (비 MVC)[3]
  • r1880: Intel AVX 지원[3]
  • r1881: 어떤 입력에서도 VBV를 유지할 수 있게 됨[3]
  • r1935: "--bluray-compat" 도입 (블루레이 호환 인코딩 기능 강화)[3]
  • r1961: MBAFF에서 Inter 지원[3]
  • r2017: YUV4:4:4 인코딩 지원[3]
  • r2018: RGB 인코딩 지원[3]
  • r2081: YUV4:2:2 인코딩 지원[3]
  • r2257: QNX 지원[3]
  • r2286: GPU 인코딩 지원[3]
  • r2355: AVC-Intra 지원[3]

3. 기능

x264는 API와 명령줄 인터페이스를 모두 제공한다. 명령줄 인터페이스는 Staxrip[25], MeGUI[22] 등의 GUI에서 사용되며, API는 HandBrake[4], FFmpeg[5] 등에서 사용된다.

x264는 x86, PowerPC (AltiVec 사용), ARMv7 (NEON 사용) 플랫폼에서 SIMD 어셈블리 코드 가속화를 지원한다.

키 프레임 대신 주기적 내부 갱신을 사용하여 각 프레임의 크기를 동일하게 유지하여, 각 슬라이스를 단일 UDP 또는 TCP 패킷으로 즉시 전송하고 도착 즉시 디코딩할 수 있다.[3]

2010년 4월, x264 프로젝트는 완전한 블루레이 호환 비디오 인코딩 기능을 발표하여, x264가 최초의 무료 블루레이 호환 소프트웨어 H.264 인코더가 되었다.[15] x264는 워너 브라더스[16]에서 출시한 상업용 블루레이 디스크 타이틀을 제작하는 데 사용되었다.

3. 1. 화질

x264는 주관적 화질을 향상시키기 위한 여러 심리 시각적 향상 기능을 포함한다.

  • VAQ를 사용하는 두 가지 모드의 적응 양자화. 두 번째 모드는 나중에 추가되었으며, 품질을 향상시키기 위해 프레임별 강도를 조정한다.[6]
  • 유사한 복잡성을 유지하려는 심리 시각적 비트율-왜곡 최적화. 복잡성은 제곱합 최적화(SSD) 및 절대 변환 차이 합계(SATD)의 조합을 사용하여 측정된다.[7]
  • 매크로블록 트리 비트 제어. 프레임의 일부가 미래 프레임을 예측하는 데 얼마나 자주 사용되는지 추적하여 품질을 제어한다.[8]


x264는 다음 코덱 비교에서 여러 차례 수상하며 높은 화질을 인정받았다.

연도대회
2006제3회 연례 MSU MPEG-4 AVC/H.264 비디오 코덱 비교[9]
2007제4회 연례 MSU MPEG-4 AVC/H.264 비디오 코덱 비교[10]
2009제5회 연례 MSU MPEG-4 AVC/H.264 비디오 코덱 비교[11]
2010제6회 연례 MSU MPEG-4 AVC/H.264 비디오 코덱 비교[12]
2011제7회 연례 MSU MPEG-4 AVC/H.264 비디오 코덱 비교[13]
2012제8회 연례 MSU MPEG-4 AVC/H.264 비디오 코덱 비교[14]



또한, 다음과 같은 특징을 가지고 있다.


  • PSNR 및 SSIM뿐만 아니라 심리 시각도 중시한다.
  • 일반적으로 사용되는 8비트 깊이뿐만 아니라 10비트 깊이의 인코딩에도 대응한다. 8비트 깊이의 소스 영상이라도 고비트 깊이를 사용하면 필터를 사용하지 않고 밴딩을 억제할 수 있으며, 계산 오차가 낮아 파일 크기도 작아진다.[30]
  • 일반적으로 사용되는 YUV4:2:0 색 공간뿐만 아니라 YUV4:2:2 색 공간 및 YUV4:4:4 색 공간의 인코딩에도 대응한다. 4:4:4 소스 영상을 깔끔한 화질로 인코딩할 수 있다.

3. 2. 속도


  • 멀티 스레드 지원[29]
  • 각종 CPU의 SIMD 지원 (MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, 3DNow!, XOP, Altivec, NEON)[29]

3. 3. 낮은 레이턴시

x264는 주기적 인트라 업데이트(--intra-refresh)를 사용하여 I (DR) 프레임 없이도 각 프레임의 크기를 일정하게 유지할 수 있다. 이를 통해 참조 프레임을 사용하면서도 즉시 전송 및 디코딩이 가능하다.[3]

3. 4. 기타 기능

x264는 고화질, 고압축률, 고속 인코딩을 지원하는 다양한 기능을 제공한다.[29]

  • 비트 전송률 및 품질 지정 인코딩: 2패스 이상을 지원하여 사용자가 원하는 비트 전송률 또는 품질을 설정할 수 있다.
  • 프리셋 및 튜닝 설정: 인코딩 속도, 소스 영상 특성, 목적에 맞는 다양한 설정을 제공한다.
  • 프로파일/레벨 제한: 특정 장치와의 호환성을 위해 프로파일 및 레벨을 제한할 수 있다.
  • 블루레이 디스크 호환 인코딩: 블루레이 디스크 재생 장치와 호환되는 영상을 생성할 수 있으며, 오서링 툴과 함께 사용하면 블루레이 디스크 제작도 가능하다.[15]
  • I 프레임 전용 인코딩 (`--keyint 1`): 모든 프레임을 I 프레임으로 인코딩하여 영상 편집에 용이하며, 프로용으로 활용 가능하다.[31]
  • AVC-Intra 호환 인코딩 (`--avcintra-class 50/100/200`): AVC-Intra 코덱과 호환되는 영상을 생성할 수 있다.
  • 무손실 인코딩 (`--qp 0`) 및 RGB 색 공간 지원 (`--output-csp rgb`): 화면 캡처나 무손실 저장을 위한 기능을 제공한다.
  • 스테레오 3D 동영상 프레임 형식 정의 (`--frame-packing`): 스테레오 3D 동영상의 프레임 형식을 정의할 수 있다.


이러한 기능들은 Youtube, Facebook 등 다양한 웹사이트와 VLC, HandBrake 등 여러 인코딩 소프트웨어에서 활용되고 있다.[4][5]

3. 5. 지원하지 않는 기능


  • 12비트 인코딩은 지원하지 않는다.[31]
  • AVC-Ultra는 지원하지 않지만, 패치가 존재한다.[31]
  • MPEG-4 MVC는 지원하지 않는다.
  • MPEG-4 WVC (MPEG-4 Part 29, MPEG-4 AVC의 서브셋)는 지원하지 않는다.

4. 논란

2010년 11월, x264 개발자 피오나 글레이저는 시스코 시스템즈 자회사 탠드버그의 특허 출원과 관련하여 논란을 제기했다. 자세한 내용은 탠드버그 특허 논란 문단을 참고하면 된다.[17][18][19][20][21]

4. 1. 탠드버그 특허 논란

2010년 11월, x264 개발자인 피오나 글레이저는 시스코 시스템즈 자회사인 탠드버그의 특허 출원 중 하나에 자신이 약 두 달 전에 x264 코드베이스에 커밋한 알고리즘에 대한 단계별 설명이 포함되어 있다고 주장하는 정보를 발표했다.[17][18] 이는 미디어를 통해 전달되었으며, 특허를 출원한 회사가 x264 프로젝트 IRC 개발 채널을 팔로우하고 있으며 프로젝트 개발자들에게 알려져 있었다는 점을 지적했다.[19][20] 이에 탠드버그는 해당 알고리즘을 독자적으로 발견했다고 주장했다.[21]

5. x264 프론트엔드


  • Avidemux
  • FFmpeg[5]
  • HandBrake[4]
  • OpenShot
  • Gstreamer
  • MediaCoder
  • MeGUI[22]
  • MEncoder[23]
  • RipBot264[24]
  • SUPER
  • StaxRip[25]
  • 텔레스트림 에피소드
  • TMPGEnc 비디오 마스터링 웍스 5[26]
  • 하모닉 Rhozet 워크플로우 시스템[27]

6. x264vfw

x264의 VfW 버전은 r581에서 공식 지원이 중단되었다. VfW 관련 DirectShow가 있지만, 그쪽으로의 대응도 이루어지지 않고 있다.

외부 프로젝트로 BugMaster가 개발을 지속하고 있으며, fourcc도 몇 가지 선택할 수 있게 되었지만, 2017년을 마지막으로 업데이트가 이루어지지 않고 있다.[32]

7. 분산 인코딩

x264는 직접적으로 여러 컴퓨터에서의 분산 인코딩을 지원하지 않는다. 그러나 x264를 백엔드로 사용하는 분산 인코딩 소프트웨어인 x264farm 및 그 파생 버전으로 1pass에 특화된 x264farm-sp가 존재한다. 라이선스는 x264와 마찬가지로 GPL 라이선스이며, OCaml로 작성되었다.

참조

[1] 웹사이트 x264.c · master · VideoLAN / x264 · GitLab https://code.videola[...] VideoLAN 2021-07-05
[2] 웹사이트 x264, the best H.264/AVC encoder - VideoLAN https://www.videolan[...] VideoLAN 2021-07-01
[3] 웹사이트 x264 https://www.techex.c[...] 2012-07-14
[4] 웹사이트 Handbrake Details http://handbrake.fr/[...] Handbrake Project 2011-03-11
[5] 웹사이트 FFmpeg General Documentation https://ffmpeg.org/g[...] FFmpeg Team 2021-07-01
[6] 웹사이트 Variance AQ Megathread (AQ v0.48 update--defaults changed) https://forum.doom9.[...] 2007-02-15
[7] 웹사이트 Psy RDO: Official testing thread (version 0.6 out!) https://forum.doom9.[...] 2008-05-31
[8] 웹사이트 x264 "Macroblock Tree Ratecontrol" testing (committed) https://forum.doom9.[...] 2009-08-03
[9] 웹사이트 Third Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison https://www.compress[...] 2010-12-28
[10] 웹사이트 Fourth Annual MSU MPEG-4 AVC/H.264 Video Codec Comparison https://www.compress[...] 2010-12-28
[11] 웹사이트 Fifth MSU MPEG-4 AVC/H.264 Video Codec Comparison https://compression.[...] 2010-12-28
[12] 웹사이트 MSU Sixth MPEG-4 AVC/H.264 Video Codecs Comparison https://compression.[...] 2010-12-28
[13] 웹사이트 MSU Seventh MPEG-4 AVC/H.264 Video Codecs Comparison https://compression.[...] 2011-05-26
[14] 웹사이트 MSU Eighth MPEG-4 AVC/H.264 Video Codecs Comparison https://compression.[...] 2012-06-22
[15] 웹사이트 Announcing the first free software Blu-ray encoder http://x264dev.multi[...] 2010-04-25
[16] 웹사이트 x264 encoded discs — Authoring a professional Blu-ray Disc with x264 https://sites.google[...]
[17] 웹사이트 Original Tandberg blog post http://x264.nl/devel[...] x264.nl 2010-11-25
[18] 웹사이트 Patent skullduggery: Tandberg rips off x264 algorithm http://x264dev.multi[...] 2010-11-25
[19] 웹사이트 Tandberg coder accused of open source theft https://usave.co.uk/[...] 2010-11-26
[20] 웹사이트 Tandberg rips off an open source project http://www.theinquir[...] The Inquirer 2010-11-26
[21] 웹사이트 Tandberg illustrates stupidity of software patent policy https://www.zdnet.co[...] ZDNet 2010-11-27
[22] 웹사이트 MeGUI - x264/XviD/lavc/Snow encoder with MP4/MKV/AVI output & audio https://forum.doom9.[...] 2005-06-18
[23] 웹사이트 Selecting Codecs and Container Formats http://www.mplayerhq[...] MPlayer 2011-03-11
[24] 웹사이트 RipBot264 1.16.3 - VideoHelp.com Downloads https://www.videohel[...] 2010-12-28
[25] 웹사이트 staxrip/staxrip: 🎞 Video encoding GUI for Windows. https://github.com/s[...] 2021-07-01
[26] 웹사이트 TMPGEnc Video Mastering Works 5: New Features https://tmpgenc.pega[...] 2012-09-28
[27] 웹사이트 Compiling x264 for ProMedia Xpress http://www.harmonici[...] Harmonic Inc. 2014-00-00
[28] 문서 changelog.txt http://x264.nl/x264/[...]
[29] 문서 Seventh MPEG-4 AVC/H.264 Video Codecs Comparison - Standard Version http://www.compressi[...]
[30] 웹사이트 Why does 10-bit save bandwidth https://x264.nl/x264[...] x264.nl 2021-12-28
[31] 문서 x264-devel - PATCH - Support 12bit and add ultra calss https://mailman.vide[...]
[32] 웹사이트 x264vfw - Browse /x264vfw at SourceForge.net https://sourceforge.[...] 2021-12-28
[33] 웹인용 x264 Home Page http://www.videolan.[...] VideoLan Organization 2011-03-11



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com