AV1 대 h265(HEVC) 대 VP9: 이 압축 표준의 차이점은 무엇입니까?

AV1 대 h265(HEVC) 대 VP9: 이 압축 표준의 차이점은 무엇입니까?

4K 스트리밍은 새로운 표준이지만 16밀리초마다 820만 개 이상의 픽셀에 대한 정보가 전송되므로 인터넷에서 4K 비디오를 저장하고 전송하는 것은 쉬운 일이 아닙니다.

2시간 길이의 영화는 압축되지 않은 경우 1.7테라바이트 이상의 저장 공간을 차지합니다. 그렇다면 YouTube 및 Netflix와 같은 거대 스트리밍 업체는 어떻게 그렇게 많은 공간을 차지하는 비디오를 저장하고 스트리밍할 수 있습니까?

글쎄, 그들은 영화의 크기를 줄이기 위해 비디오 코덱을 사용하기 때문이 아니라 비디오 코덱이 무엇이며 어떤 것이 가장 좋습니까?

비디오 코덱이란 무엇입니까?

비디오 코덱의 복잡성에 대해 자세히 알아보기 전에 비디오가 생성되는 방식을 이해하는 것이 중요합니다. 간단히 말해서 비디오는 서로 빠르게 교체되는 스틸 이미지 세트에 지나지 않습니다.

컴퓨터에서 실행되는 비디오 편집 소프트웨어

이러한 높은 변화 속도로 인해 인간의 두뇌는 이미지가 움직이는 것으로 생각하여 비디오를 보는 듯한 착각을 일으킵니다. 따라서 4K 동영상을 시청할 때 해상도가 2160×3840인 일련의 이미지를 보고 있는 것입니다. 이 고해상도 이미지를 통해 4K로 촬영한 비디오를 통해 뛰어난 비디오 경험을 제공할 수 있습니다. 즉, 이미지의 고해상도는 비디오의 크기를 증가시켜 인터넷과 같이 대역폭이 제한된 채널을 통한 스트리밍을 불가능하게 만듭니다.

이 문제를 해결하기 위해 비디오 코덱이 있습니다. 코더/디코더 또는 압축/압축 해제의 줄임말인 비디오 코덱은 이미지 스트림을 데이터 비트로 압축합니다. 이 압축은 사용된 압축 알고리즘에 따라 비디오 품질을 저하시키거나 아무런 영향을 미치지 않을 수 있습니다.

이름에서 알 수 있듯이 코덱의 압축 비트는 각 이미지의 크기를 줄입니다. 동일한 작업을 수행하기 위해 압축 알고리즘은 사람 눈의 뉘앙스를 이용하여 사람들이 시청하는 비디오가 압축되었음을 알지 못하도록 합니다.

반대로 압축 해제는 반대로 작동하며 압축된 정보를 사용하여 비디오를 렌더링합니다.

코덱은 정보 압축과 관련하여 훌륭한 작업을 수행하지만 동일한 작업을 수행하면 CPU에 부담이 될 수 있습니다. 이로 인해 시스템에서 비디오 압축 알고리즘을 실행할 때 시스템 성능에 변동이 생기는 것은 정상입니다.

iPad에서 실행되는 비디오 편집 애플리케이션

이 문제를 해결하기 위해 CPU와 GPU는 이러한 압축 알고리즘을 실행할 수 있는 특수 하드웨어와 함께 제공됩니다. 전용 하드웨어가 비디오 코덱을 처리하는 동안 CPU가 당면한 작업을 수행할 수 있도록 하여 효율성을 향상시킵니다.

비디오 코덱은 어떻게 작동합니까?

이제 비디오 코덱이 무엇을 하는지에 대한 기본적인 이해가 있으므로 코덱이 작동하는 방식을 살펴볼 수 있습니다.

크로마 서브샘플링

앞에서 설명한 것처럼 비디오는 이미지로 구성되며 크로마 서브샘플링은 각 이미지의 정보를 줄입니다. 이를 위해 각 이미지에 포함된 색상 정보를 줄이는데, 이러한 색상 정보의 감소가 인간의 눈에 어떻게 감지됩니까?

알다시피, 인간의 눈은 밝기의 변화를 감지하는 데 탁월하지만 색상에 대해서는 그렇지 않습니다. 인간의 눈에는 원추체(색상을 구분하는 광수용체 세포)에 비해 간상체(밝기 변화를 감지하는 광수용체 세포)가 더 많기 때문입니다. 간상체와 원추체의 차이로 인해 압축된 이미지와 압축되지 않은 이미지를 비교할 때 눈이 색 변화를 감지하지 못합니다.

크로마 서브샘플링을 사용한 다양한 수준의 pf 비디오 압축
이미지 크레딧: 영어 Wikipedia/Wikimedia Commons의 Janke

채도 서브샘플링을 수행하기 위해 비디오 압축 알고리즘은 RGB의 픽셀 정보를 밝기 및 색상 데이터로 변환합니다. 그런 다음 알고리즘은 압축 수준에 따라 이미지의 색상 양을 줄입니다.

중복 프레임 정보 제거

동영상은 여러 프레임의 이미지로 구성되며 대부분의 경우 이러한 모든 프레임에는 동일한 정보가 포함됩니다. 예를 들어 고정된 배경에서 말하는 사람이 있는 비디오를 상상해 보십시오. 이 경우 비디오의 모든 프레임은 유사한 구성을 갖습니다. 따라서 비디오를 렌더링하는 데 모든 이미지가 필요하지 않습니다. 한 프레임에서 다른 프레임으로 이동할 때 변경과 관련된 모든 정보와 데이터가 포함된 기본 그림만 있으면 됩니다.

따라서 비디오 크기를 줄이기 위해 압축 알고리즘은 비디오 프레임을 I 및 P 프레임(예측 프레임)으로 나눕니다. 여기서 I 프레임은 실측값이며 P 프레임을 생성하는 데 사용됩니다. 그런 다음 P 프레임은 I 프레임의 정보와 해당 특정 프레임에 대한 변경 정보를 사용하여 렌더링됩니다. 이 방법론을 사용하여 비디오는 비디오를 더 압축하는 P 프레임으로 인터리브된 I 프레임 세트로 분해됩니다.

모션 압축

이제 비디오를 I 및 P 프레임으로 나누었으므로 모션 압축을 살펴봐야 합니다. I 프레임을 사용하여 P 프레임을 만드는 데 도움이 되는 비디오 압축 알고리즘의 일부입니다. 이를 위해 압축 알고리즘은 I 프레임을 매크로 블록이라는 블록으로 나눕니다. 그런 다음 이러한 블록에는 한 프레임에서 다른 프레임으로 전환할 때 이러한 블록이 이동하는 방향을 정의하는 모션 벡터가 제공됩니다.

게임 플레이 이미지의 모션 벡터
이미지 크레딧: 블렌더 재단/ 위키미디어

각 블록에 대한 이 모션 정보는 비디오 압축 알고리즘이 다음 프레임에서 각 블록의 위치를 ​​예측하는 데 도움이 됩니다.

고주파 이미지 데이터 제거

색상 데이터의 변화와 마찬가지로 인간의 눈은 이미지에서 고주파 요소의 미묘한 변화를 감지할 수 없지만 고주파 요소는 무엇입니까? 화면에 렌더링된 이미지는 여러 픽셀로 구성되며 이러한 픽셀의 값은 표시되는 이미지에 따라 변경됩니다.

그림의 일부 영역에서는 픽셀 값이 점진적으로 변경되며 이러한 영역을 주파수가 낮다고 합니다. 반면에 픽셀 데이터의 급격한 변화가 있는 경우 해당 영역은 고주파 데이터가 있는 영역으로 분류됩니다. 비디오 압축 알고리즘은 Discrete Cosine Transform을 사용하여 고주파 성분을 줄입니다.

작동 방식은 다음과 같습니다. 첫째, DCT 알고리즘은 각 매크로 블록에서 실행된 다음 픽셀 강도의 변화가 매우 빠른 영역을 감지합니다. 그런 다음 이미지에서 이러한 데이터 포인트를 제거하여 비디오 크기를 줄입니다.

부호화

이제 비디오의 모든 중복 정보가 제거되었으므로 나머지 데이터 비트를 저장할 수 있습니다. 이를 위해 비디오 압축 알고리즘은 프레임의 모든 데이터 비트를 비디오에서 발생하는 횟수에 연결한 다음 트리와 같은 방식으로 연결하는 Huffman 인코딩과 같은 인코딩 방식을 사용합니다. 이 인코딩된 데이터는 시스템에 저장되어 비디오를 쉽게 렌더링할 수 있습니다.

허프만 인코딩 구조
이미지 크레딧: Redor/ Wikimedia

AV1 대 HEVC 대 VP9: 어떤 코덱이 가장 좋습니까?

이제 코덱이 작동하는 방식을 이해했으므로 AV1, HEVC 및 VP9 중에서 가장 좋은 코덱을 결정할 수 있습니다.

압축성 및 품질

시스템에서 많은 공간을 차지하는 4K 비디오가 있고 즐겨 사용하는 스트리밍 플랫폼에 업로드할 수 없는 경우 최상의 압축률을 제공하는 비디오 코덱을 찾고 있을 수 있습니다. 그러나 비디오를 계속 압축함에 따라 제공되는 품질이 저하된다는 점도 고려해야 합니다. 따라서 압축 알고리즘을 선택할 때 특정 비트 전송률에서 제공하는 품질을 확인하는 것이 중요하지만 비디오의 비트 전송률은 무엇입니까?

간단히 말해서 비디오의 비트 전송률은 비디오가 1초 동안 재생되는 데 필요한 비트 수로 정의됩니다. 예를 들어, 60프레임에서 실행되는 24비트 비압축 4K 비디오의 비트 전송률은 11.9Gb/s입니다. 따라서 인터넷에서 압축되지 않은 4K 비디오를 스트리밍하는 경우 Wi-Fi는 초당 11.9기가비트의 데이터를 제공해야 하므로 월별 데이터 할당량이 몇 분 만에 소진됩니다.

반대로 압축 알고리즘을 사용하면 품질 저하 없이 선택한 비트 전송률을 기준으로 비트 전송률을 매우 작은 양으로 줄입니다.

압축률/품질 수치와 관련하여 AV1은 H.265에 비해 압축률이 28.1% 향상되고 VP9에 비해 27.3% 절약되는 동시에 유사한 품질을 제공합니다.

따라서 품질 저하 없이 최상의 압축을 찾고 있다면 AV1이 적합한 압축 비율입니다. AV1 코덱의 뛰어난 압축률로 인해 낮은 대역폭 데이터 연결에서 비디오를 전송하는 동안 화상 회의 응용 프로그램인 Google Duo와 Netflix에서 Google에서 사용합니다.

호환성

앞에서 설명한 것처럼 비디오 압축 알고리즘은 압축된 비디오를 인코딩합니다. 이제 이 동영상을 재생하려면 기기에서 동일한 동영상을 디코딩해야 합니다. 따라서 장치에 비디오 압축 해제를 위한 하드웨어/소프트웨어 지원이 없는 경우 비디오를 실행할 수 없습니다.

따라서 많은 장치에서 실행할 수 없는 콘텐츠를 만들고 압축하는 것이 무슨 의미가 있기 때문에 압축 알고리즘의 호환성 측면을 이해하는 것이 중요합니다.

따라서 호환성을 찾고 있다면 20억 개가 넘는 엔드포인트에서 지원되고 모든 브라우저, 스마트폰 및 스마트 TV에서 실행할 수 있는 VP9가 코덱이 되어야 합니다.

비디오의 파일 크기를 줄이기 위해 더 새롭고 더 복잡한 알고리즘을 사용하고 구형 장치에서는 재생할 수 없기 때문에 AV1에 대해서도 마찬가지입니다. 브라우저 지원과 관련하여 Safari는 AV1을 재생할 수 없지만 Firefox 및 Chrome과 같은 브라우저는 문제 없이 AV1 비디오를 재생할 수 있습니다.

하드웨어 지원 측면에서 Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidia의 RTX 4000 시리즈, Intel Xe 및 Arc GPU와 같은 새로운 SoC 및 GPU는 AV1 코덱에 대한 가속 하드웨어 디코딩을 지원합니다. . 따라서 이러한 칩셋으로 구동되는 장치를 소유하고 있다면 CPU/GPU 전력을 소모하지 않고 AV1 코덱을 사용하여 압축된 스트리밍 콘텐츠를 즐길 수 있습니다.

H.265 코덱의 경우 Safari, Firefox 및 Google Chrome과 같은 가장 널리 사용되는 브라우저는 문제 없이 압축 알고리즘을 사용하여 인코딩된 비디오를 실행할 수 있습니다. 즉, AV1 및 VP9에 비해 H.265는 오픈 소스가 아니며 H.265 코덱을 사용하려면 라이선스를 구입해야 합니다. 이러한 이유로 운영 체제와 함께 제공되는 Microsoft의 영화 및 TV 비디오 플레이어와 같은 앱은 기본적으로 H.265를 사용하여 인코딩된 비디오를 실행할 수 없습니다. 대신 사용자는 이러한 비디오를 실행하기 위해 Windows 스토어에서 추가 애드온을 설치해야 합니다.

인코딩 속도

동영상 코덱은 동영상의 크기를 크게 줄여주지만, 동영상의 크기를 줄이려면 압축되지 않은 동영상을 소프트웨어로 처리해야 하므로 시간이 걸립니다. 따라서 동영상의 크기를 줄이려면 압축 알고리즘을 이용해 동영상을 압축하는데 걸리는 시간을 살펴봐야 한다.

인코딩 효율성 측면에서 VP9이 선두를 달리고 있으며 비디오 압축을 위한 인코딩 시간은 H.265 및 AV1보다 훨씬 짧습니다. 반면 AV1은 인코딩 시간이 가장 느리며 H.265에 비해 비디오 인코딩 시간이 3배 이상 더 걸릴 수 있습니다.

어떤 코덱을 선택해야 합니까?

비디오 코덱의 경우 모든 코덱이 서로 다른 기능을 제공하므로 완벽한 코덱을 찾는 것은 매우 주관적입니다.

최상의 비디오 품질을 찾고 있다면 AV1로 가십시오. 반면에 가장 호환되는 비디오 코덱을 찾고 있다면 VP9이 가장 적합할 것입니다.

마지막으로 인코딩 오버헤드 없이 우수한 품질과 압축이 필요한 경우 H.265 코덱이 매우 적합합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다