VP9 코덱 : Google의 오픈 소스 기술 설명

 

이 기사에서는 VP9 코덱에 대한 간략한 개요를 제공합니다. 즉, 기능, 성능, 비용 및 장점에 대해 설명합니다. Wowza Streaming Engine 소프트웨어를 사용하여 VP9 코덱을 효과적으로 배포하기 위해 알아야 할 사항에 대한 섹션으로 마무리하겠습니다 . 

VP9 코덱이란?

VP9는 Google이 2010 년 2 월에 On2 Technologies 를 약 1 억 2460 만 달러에 인수했을 때 획득 한 기술로 개발 된 Google 코덱입니다 . 배경 상으로 On2는 Adobe Flash에서 2007 년 8 월  H.264  대한 지원을 추가 할 때까지 Adobe Flash에서 사용되는 주요 코덱 인 VP6를 포함하여 VPx 코덱 라인의 개발자였습니다 .

 

2010 년 5 월 Google 은 VP8 및 Matroska 기반 WebM 형식 ( VP8 및 VP9 비디오 코덱 , Vorbis 및 Opus 오디오 코덱  함께 작동)을 오픈 소스 로 제공했습니다 . Google은 VP8이 로열티가 없다고 주장했지만 2011 년 2 월 특허 풀 관리자 인 MPEG LA  VP8 코덱에 필수적인 특허 요청을 발표했습니다 . 이는 특허 풀 형성의 첫 번째 단계입니다. 열두 정당이 응답 했지만 풀이 형성되지 않았습니다. 2013 년 3 월, Google 은 VP8 및 차세대 VP9에 "필수적 일 수있는" 기술을 MPEG LA로부터 라이센스를 받았지만 용어는 공개되지 않았습니다.

 

VP9의 개발은 2011 년 말에 시작되었고 VP9는 2013 년 6 월  출시 되었습니다. VP9는 Google이 On2에서 획득 한 모든 코덱 기술을 제공하고 Alliance for Open Media에 인수 후 개발 한 마지막 VP 지정 코덱 입니다. VP8과 마찬가지로 Google은 VP9를 오픈 소스로 출시했습니다. 또한 VP8과 마찬가지로 VP9의 오픈 소스 상태는 아래에서 자세히 논의되는 특허 풀의 도전을 받았습니다.

 

사용 측면에서 볼 때 VP9 인코딩 콘텐츠의 가장 큰 배포자는 YouTube 였지만 YouTube는 여전히 방대한 양의 파일을 H.264로 인코딩합니다. 2016 년 넷플릭스는 비디오 다운로드에 VP9  사용하고 있다고 발표 했으며 JW Player는 H.264 및 VP9를 사용하여 온라인 비디오 플랫폼에서 주문형 비디오를 배포합니다.

 

이 시리즈에서 논의 된 모든 코덱과 마찬가지로 VP9는 여러 개발자가 해당 사양의 자체 구현을 만드는 데 사용할 수있는 사양입니다. 가장 널리 알려진 VP9 코덱 구현은 libvpx-vp9로, Google에서 개발했으며 독립형 인코더 또는 FFmpeg 와 함께 코덱으로 사용할 수 있습니다 . Intel ( SVT-VP9 )과 Two Orioles ( Eve-VP9 )에서 제공하는 VP9 코덱도 있습니다 .

 

호환성 : VP9 vs. H.264, HEVC 및 AV1

 

표 1. 코덱 호환성.

코덱 호환성 브라우저 변하기 쉬운 스마트 TV / OTT
H.264 거의 모두 모두 모두
VP9 거의 모두 Android, iOS 대부분
HEVC 아주 작은 Android, iOS 모두
AV1 Edge, Firefox, Chrome, Opera 기계적 인조 인간 초기

 

CanIUse 웹 사이트 는 데스크톱과 모바일 모두에 대한 VP9 브라우저 호환성을 96.26 %로 나열하여 H.264에 약간 뒤쳐 지지만 HEVC의 18.08 %  AV1의 74.25 보다 훨씬 큽니다 . Android 및 iOS에서 Chrome 브라우저는 iOS 14 이상의 Safari와 마찬가지로 VP9를 재생할 수 있습니다 . Google은 여기에 VP9 하드웨어를 지원하는 인상적인 기기 목록을 작성했습니다. 여기 에는 Samsung, Sony, Sharp, LG, HiSense, Philips, Westinghouse의 TV와 Roku 셋톱 박스, Nvidia 게임 콘솔이 포함됩니다. 적용 범위가 HEVC만큼 광범위하지는 않지만 4K YouTube 재생의 유혹은 많은 하드웨어 지원을 끌어 들였습니다. 이 호환성은 VP9의 가장 큰 강점 중 하나입니다.

 

공연

코덱 성능을 측정 할 때 (1) 인코딩 복잡성 또는 속도와 (2) 인코딩 품질의 두 가지 측면을 고려합니다. 이 시리즈에서 논의 된 4 가지 코덱을 포함하여 대부분의 코덱은 둘 사이에 역관계가 있습니다. 즉, 인코딩 품질이 좋을수록 인코딩하는 데 시간이 오래 걸리므로 인코딩 및 트랜스 코딩 비용이 높아집니다 . 현재로서는 H.264를 완전히 대체 할 수있는 코덱이 없기 때문에 이러한 인코딩 또는 트랜스 코딩 비용은 기존 H.264 인코딩 관련 비용에 추가됩니다.

 

표 2. 코덱 성능.

H.264와 비교 한 성능 인코딩 복잡성 (속도) 인코딩 품질
H.264 기준선 기준선
VP9 2 ~ 15 배 ~ 35 %
HEVC 2 ~ 15 배 ~ 35 %
AV1 15 ~ 30 배 ~ 50 %

 

코덱 성능을 분석 할 때 각각 고유 한 성능 특성을 가진 여러 VP9 구현이 있음을 기억하십시오. 대부분의 VP9 구현에는 성능을 위해 인코딩 시간을 절충 할 수있는 사전 설정도 있습니다. 예를 들어 libvpx-vp9의 경우 속도 설정 4는 속도 0의 시간의 약 16 %에서 인코딩하지만 약 3.5 % 낮은 품질을 제공합니다. 이는 많이 들리지 않지만 코덱과 코덱 구현을 비교할 때입니다. . 물론 HEVC 및 AV1에는 여러 사전 설정이있는 여러 구현이 있으므로 코덱 비교가 복잡하고 표 2의 인코딩 속도 열이 이러한 광범위한 범위를 보여주는 이유입니다.

 

인코딩 품질을 고려할 때 그림은 H.264와 비교하여 VP9, ​​HEVC 또는 AV1의 단일 전체 해상도 인코딩을 비교할 때 예상해야하는 비트 전송률 감소를 나타냅니다. 분명히 이것은 사용되는 코덱 및 사전 설정에 따라 다릅니다.

또한 새로운 코덱 채택으로 인한 실제 절감액의 실제 추정치는 인코딩 전후와 시청자에게 스트림의 실제 배포를 고려해야합니다. 대부분이 미국과 유럽에서와 같이 배포가 가장 많으면 표 2에 표시된 숫자를 상당히 많이 얻을 수있을 것입니다. 인코딩 래더의 중간 또는 하위 단계에서 파일을 주로 배포하는 경우 대역폭 비디오 품질은 크게 향상되어야하지만 절감 효과는 훨씬 낮아집니다.

 

적당

이제 다양한 특정 인코딩 응용 프로그램에 대한 VP9의 적합성을 살펴 보겠습니다. VP9는 라이브 오리 지 네이션에 사용할 수있는 하드웨어 인코더가 거의 없기 때문에 라이브 오리 지 네이션에 적합하지 않습니다. Xilinx에는 FPGA 기반 VP9 트랜스 코딩 엔진 이 있지만 Twitch에만 판매되며 상업적으로 사용할 수 없습니다. 인텔의 구현 인 SVT-VP9 는 모스크바 주립 대학 벤치 마크에서 성능이 저조하여 유망 해 보이지 않습니다. Nvidia는 하드웨어 가속 VP9 디코딩을 지원하지만 하드웨어 가속 인코딩 또는 트랜스 코딩을 지원하지 않는 것 같습니다 ( 여기  여기 참조 ).

 

표 3. 다양한 기능에 대한 적합성.

코덱 적합성 라이브 오리 지 네이션 라이브 트랜스 코딩 짧은 지연 시간 4K HDR
H.264 우수한 우수한 우수한 가난한 가난한
VP9 가난한 가난한 WebRTC 우수한 가난한
HEVC 좋은 좋은 초기 우수한 우수한
AV1 초기 초기 WebRTC 우수한 초기

 

FFmpeg에서 소프트웨어 기반 VP9 트랜스 코딩을 실험 한 결과 리소스 집약적 (4X x264 트랜스 코딩), 출력이 거의 항상 요청 된 비트 전송률을 상당량 (예 : 70 % 이상) 초과했으며 품질이 x264. 요컨대 훌륭한 가치 제안은 아닙니다. 즉, Wowza Streaming Engine  Wowza Streaming Engine 을 사용하여 MPEG-DASH 재생을 위해 라이브 스트림을 WebM으로 트랜스 코딩 이라는 제목의 기사에서 특정 지침과 권장 사항을 통해 VP9 형식으로의 트랜스 코딩  지원 합니다 

 

낮은 대기 시간 과 관련하여 VP9는 WebRTC 에서 사용할 수 있으며 일부는 H.264보다 강력하게 VP9를 옹호합니다

( VP9 코덱 : WebRTC 응용 프로그램에서 채택 할 시간입니까? 참조 ). Wowza Streaming Engine은 WebRTC 용 VP9를 지원 합니다. MPEG-DASH 또는 기타 HTTP 프로토콜 내의 낮은 대기 시간과 관련하여 효율적인 트랜스 코딩이 없기 때문에 VP9는 잘못된 선택으로 보이며 대부분의 노력은 H.264에 집중되어있는 것 같습니다.

 

VP9는 4K 비디오에서 잘 작동하므로 YouTube는 VP9 (대부분) 또는 AV1을 사용하여 모든 4K 비디오를 인코딩하는 것으로 보입니다. 그러나 HDR의 경우 VP9는 HDR10 + 와 호환되지만 Dolby Vision  는 호환 되지 않습니다 . 따라서 VP9로 인코딩하고 HDR10 + 및 Dolby Vision을 모두 지원하려면 HEVC로 인코딩해야합니다. 반대로 HEVC는 두 HDR 형식을 모두 지원합니다. 마음에 들지 않는다면 Google은 여기 에서 VP9를 사용한 HDR 인코딩에 대한 광범위한 가이드를 제공 합니다 .

 

로열티 상태

Sisvel 이라는 특허 풀 관리자는 2019 년 3 월 VP9 (및 AV1)에 대한 특허 풀을 시작하여 VP 인코딩 콘텐츠가 아닌 소비자 장치에 대한 로열티를 구했습니다. 구글은 한 발표 이 풀 알고 있는지,하지만 그들은이 없다 "시스 벨의 이번 발표에 따라 VP9 또는 AV1 또는 변경 향후 사용 계획의 우리의 사용을 제한 할 계획입니다." Sisvel은 콘텐츠에 대한 로열티를 요구하지 않기 때문에 풀은 VP9 코덱을 사용한 게시를 고려하는 스트리밍 제작자에게 최소한의 영향을 미칩니다.

 

표 4. 로열티 상태.

코덱 로열티 상태 인코더 디코더 유료 콘텐츠 무료 인터넷 콘텐츠
H.264 아니
VP9 아니 소비자 장치 아니 아니
HEVC 약간 불명확
AV1 아니 소비자 장치 아니 아니

   

VP9를 제작하기 위해 알아야 할 사항

VP9에는 인코딩 중에 사용되는 도구를 정의하는 4 개의 프로필이 있습니다 (표 5). 해당 프로필 0 구글의 권장 인코딩 매개 변수로, 대부분의 인코딩의 기본입니다 나타납니다 여기가 인코딩시에만 프로파일 스위치를 포함 10 비트 HDR의 프로필 2. 모든 SDR 샘플 명령 라인 파일을 프로파일 스위치가 포함되어 있지 않습니다.

 

표 5 : VP9 프로필. 

 

또한 VP9에는 다양한 인코딩 구성 옵션 을 제한하는 14 가지 레벨이 있습니다 . VP9를 전화기 또는 SmartTV와 같은 제한된 전력 장치에 배포하는 경우 사양을 확인하여 제한 사항을 이해하십시오. 예를 들어 Google의 Android 사양 은 VP9 재생을위한 프로필이나 수준을 지정하지 않지만 삼성의 스마트 TV 사양은 최대 4K / 60 및 80Mbps에서 VP9 프로필 0/2 를 지원한다고 표시합니다.

 

이러한 구성 옵션 외에도 Google 문서 , FFmpeg 문서  FFmpeg Wiki에 자세히 설명 된 여러 VP9 특정 옵션이 있습니다 . Google 문서에는 여기 에 라이브 트랜스 코딩에 대한 자세한 권장 사항이 포함되어 있습니다 . 여기 에서 Wowza Streaming Engine에서 VP9 트랜스 코딩에 사용할 수있는 옵션에 대해 읽을 수 있습니다 .

 

전반적으로 브라우저 기반 재생을 위해 컴퓨터로 스트리밍하는 경우 AV1이 훨씬 더 나은 인코딩 효율성으로 거의 동일한 호환성 프로필을 제공하지만 인코딩 비용은 상당히 높아진다는 일반적인 느낌이 있습니다. 이로 인해 AV1은 VP9보다 대용량 스 트리머에 더 나은 솔루션이 될 수 있습니다. 그러나 스마트 TV, 셋톱 박스 및 OTT 장치로의 4K 스트리밍의 경우 AV1은 VP9 또는 HEVC와 거의 동일한 수준의 호환성을 제공하지 않습니다.

 

 

다음 기사에서는 HEVC 코덱에 대해 설명합니다.

 

 

https://www.wowza.com/blog/vp9-codec-googles-open-source-technology-explained?utm_content=171034423&utm_medium=social&utm_source=twitter&hss_channel=tw-89489836 

 

VP9 Codec: Google’s Open-Source Technology Explained

VP9 is a video codec from Google that YouTube and Netflix use to distribute streaming media. Here's how it compares to H.264 and more.

www.wowza.com

 

+ Recent posts