본문 바로가기
IT생활

H.264, AVC, x264의 차이점과 관계

by 우물 밖 개구리. 2025. 3. 15.
반응형

H.264, AVC, x264의 차이점과 관계

비디오 코덱을 다룰 때, H.264, AVC, x264라는 용어가 혼용되는 경우가 많다. 이들은 모두 같은 개념처럼 보일 수 있지만, 실제로는 서로 다른 의미를 가지며 각각의 역할이 다르다. 이번 글에서는 이들 용어의 정의와 차이점을 비디오 압축 표준, 코덱, 인코더의 개념을 중심으로 자세히 설명한다.


1. H.264, AVC, x264란?

 

용어  정의  역할
H.264 비디오 압축 표준 (코덱 규격) MPEG과 ITU-T가 공동 개발한 비디오 압축 표준
AVC (Advanced Video Coding) H.264의 또 다른 공식 명칭 H.264와 동일한 의미
x264 H.264/AVC의 소프트웨어 인코더 H.264 비디오를 실제로 인코딩하는 오픈소스 소프트웨어

위 표에서 볼 수 있듯이, H.264와 AVC는 같은 개념이지만, **x264는 H.264 비디오를 생성하는 특정 소프트웨어(인코더)**를 의미한다.


2. H.264와 AVC: 같은 것인가?

2.1 H.264란?

  • H.264는 ITU-T VCEG(Video Coding Experts Group)과 MPEG(Moving Picture Experts Group)이 공동 개발한 비디오 압축 표준이다.
  • 공식 명칭은 **H.264 / MPEG-4 Part 10, Advanced Video Coding(AVC)**이다.
  • 따라서 H.264와 AVC는 같은 개념이며, 서로 다른 명칭일 뿐이다.

2.2 H.264의 개발 목적과 특징

H.264는 기존의 비디오 압축 기술(예: MPEG-2, MPEG-4 ASP)보다 더 높은 압축률과 더 나은 화질을 제공하기 위해 개발되었다. 주요 특징은 다음과 같다.

1) 높은 압축 효율

  • H.264는 이전 코덱보다 50% 이상 높은 압축률을 제공한다.
  • 같은 비트레이트에서 더 나은 화질을 제공하거나, 같은 화질에서 더 낮은 비트레이트를 사용할 수 있다.

2) 블록 기반 프레임 예측

  • I-프레임(Intra-coded Frame): 독립적으로 인코딩되는 프레임 (기준 프레임).
  • P-프레임(Predictive Frame): 이전 프레임을 참조하여 인코딩 (차이 정보만 저장).
  • B-프레임(Bidirectional Frame): 이전 및 이후 프레임을 참조하여 인코딩 (가장 높은 압축률).

3) 다양한 프로파일(Profile) 지원

H.264는 다양한 사용 사례를 고려하여 **프로파일(Profile)**을 제공한다.

 

프로파일  특징  사용 예
Baseline 낮은 복잡도, 오류 복원 기능 화상회의, 모바일 스트리밍
Main B-프레임 지원, 더 높은 압축률 방송, DVD
High 8x8 변환, CABAC 지원 블루레이, 방송, 고화질 스트리밍
High 10 / High 4:4:4 10-bit~12-bit 색상 지원 전문가용 영상

3. x264란?

x264는 **H.264 비디오를 생성하는 인코더(소프트웨어)**이다. 즉, H.264는 표준(코덱 규격)이고, x264는 이를 구현하는 프로그램이다.

3.1 x264의 특징

  • 오픈소스(Open Source): GNU GPL 라이선스 하에 배포되며, 누구나 사용 가능.
  • 고성능 최적화: 멀티스레드 지원, 빠른 인코딩 속도, 높은 압축률 제공.
  • 다양한 튜닝 옵션: 사용자 설정을 통해 화질 및 압축률 조절 가능.

3.2 x264의 인코딩 과정

x264는 H.264 표준에 맞춰 비디오를 압축하는 역할을 한다. 인코딩 과정은 다음과 같다.

  1. 비디오 입력 처리
    • 원본 비디오(예: YUV 4:2:0)를 프레임 단위로 가져옴.
  2. 모션 예측(Motion Estimation)
    • 이전 프레임과 비교하여 움직임을 분석하고 차이 정보만 저장.
  3. 변환과 양자화(Transform & Quantization)
    • 4x4 또는 8x8 블록 단위로 변환을 수행하여 데이터 크기를 줄임.
  4. 엔트로피 코딩(Entropy Coding)
    • CABAC (Context-Adaptive Binary Arithmetic Coding) 또는 CAVLC (Context-Adaptive Variable-Length Coding)를 사용하여 데이터를 압축.
  5. 비트스트림 생성
    • 압축된 데이터를 H.264 규격에 맞게 패킹하여 저장.

4. H.264 인코더의 종류 (x264 vs. 기타 인코더 비교)

x264 외에도 여러 H.264 인코더가 존재하며, 성능과 품질이 다를 수 있다.

 

인코더  라이선스  특징
x264 오픈소스 가장 널리 사용되는 고성능 H.264 인코더
Nvidia NVENC 독점 (Nvidia GPU 필요) GPU 기반 빠른 인코딩, 품질은 x264보다 낮음
Intel Quick Sync 독점 (Intel CPU 필요) CPU 내장 가속, 실시간 스트리밍에 유리
FFmpeg libx264 오픈소스 x264 기반의 FFmpeg 인코더
Apple Video Toolbox 독점 (macOS) Apple 하드웨어 가속 H.264 인코딩
MainConcept H.264 상용 상업용 소프트웨어, 방송 및 블루레이 제작에 사용

일반적으로, 소프트웨어 기반 인코더(x264)가 최고 품질을 제공하지만, 속도는 하드웨어 인코더(NVENC, Quick Sync)보다 느리다.


5. 결론: H.264, AVC, x264의 차이점 정리

| 항목 | H.264 | AVC | x264 | |------|------|------| | 정의 | 비디오 압축 표준 | H.264의 또 다른 명칭 | H.264 비디오를 생성하는 인코더 | | 개발 주체 | ITU-T, MPEG 공동 개발 | ITU-T, MPEG 공동 개발 | VideoLAN 프로젝트 (오픈소스) | | 역할 | 비디오 코덱 규격 | 비디오 코덱 규격 | H.264를 실제로 인코딩하는 소프트웨어 | | 라이선스 | 국제 표준 | 국제 표준 | 오픈소스 (GPL) | | 사용 목적 | 압축 기술 정의 | 압축 기술 정의 | H.264 비디오 제작 (소프트웨어 인코딩) |

핵심 요점

  1. H.264와 AVC는 같은 의미이다.
  2. x264는 H.264를 구현한 소프트웨어 인코더이다.
  3. x264는 가장 널리 사용되는 H.264 인코더이며, 오픈소스이다.
  4. H.264 인코딩에는 여러 방법이 있으며, 하드웨어 인코더(NVENC, Quick Sync)도 존재하지만 품질은 x264가 우수하다.

즉, H.264(AVC)는 표준이고, x264는 이를 구현한 인코더 중 하나이며, 현재 가장 널리 사용되는 오픈소스 인코더이다.

반응형