H264 vs H265

공부의 기록·2022년 11월 7일
7

Dev Computer Science

목록 보기
17/18
post-thumbnail

이 문서는 더 효율적인 Video Analysis를 위한 encoding에 대한 내용입니다.
2022년 11월 3일에 Jeff, Edint님이 말씀해주신 키워드를 2022년 11월 7일에 개인적으로 정리해서 작성해봅니다.


1. Prerequisites.

이 문서의 주제, H264 vs H265를 이해하기 위한 기본적인 CS 지식에 대한 내용들입니다.

Codec의 정의, 목적, 작동원리, 일반화된 특징 등을 포함하고 있습니다. 높은 수준으로 추상화된 내용이므로, 더욱 자세한 내용은 별도의 문서를 참고해주세요.

1.1. What is Codec?

Codec = Decoder + Encoder

대용량의 데이터를 압축 및 압축 해제하는 HW 및 SW 기반 프로세스입니다.

1.2. What is the purpose?

일반적으로 Codec 은 다음과 같은 목적으로 사용합니다.

  1. 공간 절약
  2. 효율적인 전송

1.3. How does it work?

  1. 데이터를 Bye Sequence으로 변환
  2. Byte Sequence 음성 혹은 영상으로 변환

1.4. Specific Features.

비트 전송률이 높을수록 압축이 적습니다.
압축률이 낮다는 것은 일반적으로 전체 품질이 더 높거나 원본에 더 가깝다는 것을 의미합니다.

일부 Codec은 합리적으로 허용되는 품질의 더 작은 파일을 생성하지만 편집하기가 더 어렵습니다.

다른 Codec은 고품질이지만 더 많은 공간을 차지하는 비효율적인 파일을 만듭니다.

또 다른 Codec은 작고 효율적인 파일을 생성하지만 전반적인 품질이 부족합니다.

데이터 스트림이 다른 멀티미디어 파일은 함께 캡슐화됩니다.

예를 들어, 오디오와 비디오가 모두 포함된 멀티 미디어 파일은 함꼐 캡슐화됩니다.


2. Video Codecs

HEVC(H.265), AVC(H.264)

2.1. H264

H264는 가장 대중적인 Codec으로 사실상 국제적인 압축 및 전송 표준과 동의어처럼 사용되고 있습니다.

이는 AVC, Advanced Video Codec, 이라고도 불립니다.
기존까지 존재했던 Codec에 비해서 High quality, Low bit rate라는 특징을 가지고 있으며, 이에 다라서 녹화, 편집, 플랫폼, 스트리밍 등의 다양한 서비스의 표준으로 선택되어 있습니다.

이 Codec을 사용하고 있는 확장자는 다음과 같습니다.

  • .mp4
  • .mov
  • .3GP
  • .TS
  • .F4V

기술적인 관점에서,
H264는 Macro Block 기반의 비디오 압축 표준입니다.
Macro Block은 (기본적으로) 16 x 16 pixel 으로 이루어진 단위로서, 이를 이용하여 비디오 콘텐츠를 Encode, Decode하게 됩니다.

2.2. H265

H265는 High Efficient Video Codec입니다.
최대 표현력 이 (가로,세로) 8,192pixel 4,320pxiel 에 달합니다.
또한, 25~50%의 데이터 압축률을 보여주기도 합니다.

이러한 H265는 최대 64pixel x 64pixel까지 이 수많은 CTU 들로 구성되어 있습니다. 따라서 더육 효율적인 압축을 할 수 있는 장점을 가져옵니다.

하지만, 다음과 같은 단점도 존재합니다.

  • 구형 8 bit HW는 H265 압축에 비효율 적입니다.
  • 비대칭 압축이기 때문에 실시간 재생을 위한 압축이 오래걸립니다.
  • 압축 시간이 10~40% 가까이 길어질 수 있습니다.
  • 오래된 아키텍처와 호환이 잘 되지 않아서, 에러 및 성능 저하가 발생할 수 있습니다.

이러한 특징 탓에 HEVC, High Efficiency Video Coding라고도 불리며, 이 Codec을 사용하고 있는 확장자는 다음과 같습니다.

  • mp4
  • mov
  • 3GP
  • TS
  • F4V

2.3. H264 vs H265


3. 왜 H264를 사용할까?

많은 글만 보았을 때는 Compress Rate, BIt Rate 등에서 우월한 H265를 사용해야 할 것 같습니다.
하지만, 실제로는 H264를 사용하는 것을 많이 보는데, 그 이유는 브라우저 및 디바이스 호환성 때문입니다.

기본적으로 H265는 iOS 기기 기반의 Safari, Safari on iOS 에서 밖에 지원이 되지 않습니다.
따라서, 호환성 문제로 인해서 H264를 사용해야 합니다.

3.1. 혹시 더 궁금하시다면...

사실 개발자로서 기술적인 내용이라기 보다는 조금 겉돌기 지식에 가깝다고는 생각을 하지만,

Youtube / Digi Pro Tips 에서 만든 H264 Vs H265 - Which Should You Use? 을 확인해보세요!

profile
블로그 이전 : https://inblog.ai/unchaptered

0개의 댓글