2P by neo 3달전 | favorite | 댓글 1개

H.264는 마법이다

H.264란?

  • H.264는 비디오 압축 코덱 표준임.
  • 인터넷 비디오, 블루레이, 휴대폰, 보안 카메라, 드론 등 거의 모든 곳에서 사용됨.
  • 30년 이상의 연구 결과로, 풀 모션 비디오 전송에 필요한 대역폭을 줄이는 것이 목표임.

왜 압축이 필요한가?

  • 비압축 비디오 파일은 엄청난 양의 데이터를 포함함.
  • 예를 들어, 1080p @ 60Hz 비디오는 초당 약 370MB의 데이터를 생성함.
  • 50GB 블루레이 디스크는 약 2분의 비디오만 저장할 수 있음.
  • 따라서 압축이 필요함.

왜 H.264 압축인가?

  • H.264는 매우 효율적임.
  • 예를 들어, Apple 홈페이지의 PNG 스크린샷은 1015KB, 같은 화면의 5초짜리 H.264 비디오는 175KB임.
  • H.264 비디오는 PNG보다 1500배 더 효율적임.

H.264의 주요 기술

무게 줄이기 (Lossy Compression)

  • H.264는 중요하지 않은 비트를 버리고 중요한 비트만 유지하는 손실 압축을 사용함.
  • PNG는 무손실 압축으로, 모든 비트를 유지함.

정보 엔트로피

  • 정보 엔트로피는 데이터를 표현하는 데 필요한 최소 비트 수를 의미함.
  • 데이터를 압축하여 중복성을 줄이는 방법임.

주파수 도메인 (Frequency Domain)

  • 데이터를 주파수 도메인으로 변환하여 고주파 성분(세부 정보)을 제거함.
  • 이렇게 하면 이미지의 세부 정보는 줄어들지만, 공간을 절약할 수 있음.

크로마 서브샘플링 (Chroma Subsampling)

  • 인간의 눈은 색상보다 밝기 변화를 더 잘 감지함.
  • YCbCr 색상 모델을 사용하여 색상 정보를 줄이고, 밝기 정보는 유지함.
  • 이를 통해 대역폭을 절반으로 줄일 수 있음.

모션 보상 (Motion Compensation)

  • 비디오의 대부분은 정적이고, 일부만 움직임.
  • H.264는 정적 이미지를 저장하고, 움직이는 부분만 별도로 저장함.
  • 이를 통해 공간을 절약함.

엔트로피 인코더 (Entropy Coder)

  • 손실 압축 후 남은 중복 정보를 제거함.
  • 일반적인 무손실 인코더로 모든 데이터를 복구할 수 있음.

GN⁺의 의견

  • H.264의 효율성: H.264는 비디오 압축에서 매우 효율적이며, 대역폭과 저장 공간을 크게 절약할 수 있음.
  • 기술의 복잡성: H.264의 다양한 기술적 요소는 이해하기 어려울 수 있지만, 기본 원리를 이해하면 많은 도움이 됨.
  • 다른 코덱과의 비교: H.265와 같은 최신 코덱은 H.264보다 더 높은 압축 효율을 제공함. 하지만, H.264는 여전히 널리 사용되고 있음.
  • 실제 적용: 비디오 스트리밍, 저장 및 전송에서 H.264의 사용은 매우 일반적이며, 이를 통해 많은 비용 절감 효과를 볼 수 있음.
  • 미래 전망: 비디오 압축 기술은 계속 발전 중이며, 더 효율적인 코덱이 등장할 가능성이 큼. H.264의 원리를 이해하면 새로운 기술을 배우는 데 도움이 됨.
Hacker News 의견
  • AV1의 장점: AV1은 더 나은 라이선싱과 함께 마법 같은 성능을 제공함.
  • Meta의 사용 사례: Meta는 비디오 스트리밍을 위해 VP9와 AV1 스트림을 점진적으로 도입 중임.
  • Microsoft Teams: Microsoft는 Teams에서 AV1을 사용하기 시작했으며, 특히 화면 공유에 유용한 비디오 코딩 도구를 제공함.
  • YouTube 비디오: 요즘 YouTube에서 보는 대부분의 비디오는 VP9 또는 AV1로 인코딩됨. 가끔 H.264 비디오도 있음.
  • H.264의 미래: H.264는 아직도 오랫동안 사용될 예정이지만, AV1이 인터넷 비디오의 새로운 기준이 될 가능성이 높음.
  • H.264 특허 만료: H.264의 많은 특허가 곧 만료될 예정임. 첫 번째 버전이 2003년에 발표되었고, 특허는 보통 20년 동안 유효함.
  • H.265에 대한 질문: H.265는 더 높은 효율성을 제공하지만, 여전히 H.264와 비교됨.
  • H.264 초기 경험: H.264가 처음 등장했을 때, mplayer로 파일을 재생하려고 했으나 초기 버전에서는 지원되지 않았음. 이후 성능이 크게 개선됨.
  • 데이터 압축 예시: 동전 던지기 예시를 통해 데이터 압축의 개념을 설명함.
  • 코덱의 핵심: 손실 압축의 핵심은 이산 코사인 변환, 양자화, 지그재그 스캐닝, 엔트로피 코딩의 조합임.
  • VVC의 효율성: VVC는 AV1보다 20-30% 더 효율적이며, 인도의 MXPlayer에서 이미 사용 중임.
  • 비디오 압축 이야기: 1999년에 새로운 비디오 압축 알고리즘을 개발한 회사와의 인터뷰 경험을 공유함. 그 회사는 결국 실패했지만, 그들의 접근 방식은 흥미로웠음.
  • 정보 엔트로피 용어: "정보 엔트로피"라는 용어의 사용이 다소 어색하게 느껴짐.