최근 수정 시각 : 2024-11-03 16:04:40

VP9(비디오 코덱)

🎞️ 비디오 코덱 및 포맷
{{{#!wiki style="margin: 0 -10px -5px; min-height: 26px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1.5px -13px"
<colbgcolor=#555>
<colbgcolor=#555> MPEG-1 · MPEG-2 Part 2(H.262) · MPEG-4 Part.2 ( DivX · Xvid) · H.261 · H.262 · H.263 · H.264 · H.265 · H.266
기타 DV · WMV · Theora · VP8 · VP9 · AV1 · Apple ProRes · Bink · GoPro CineForm · Motion JPEG
컨테이너(확장자) ASF · AVI · BIK · FLV · MKV · MOV · MP4 · MPEG · OGG(OGV) · SKM · TS · WebM · WMV
관련 틀: 그래픽 · 오디오 · 비디오
}}}}}}}}} ||


파일:VP9 코덱 로고.svg
1. 개요2. 상세3. 장점4. 단점5. 사양
5.1. Profile5.2. Level
6. 적용
6.1. 하드웨어 가속 지원6.2. 지원 소프트웨어6.3. 지원 웹 사이트
7. 이후8. 기타

1. 개요

2013년 6월 17일에 정식 발표된 Google의 무료 오픈 소스 동영상 코덱으로, VP8을 계승했다.

2. 상세

VP9는 원래 On2 테크놀로지 TrueMotion VP8의 후속 코덱 규격으로서, 2010년 구글이 On2 테크놀로지를 인수한 후, H.265와 경쟁하기 위한 무료 코덱을 목표로 개발한 것이다.

기본적으로 MKV, WebM 컨테이너에서 지원되며, FFmpeg 4.0.2 버전 이상부터는 MP4에도 VP9 코덱 동영상을 인코딩할 수 있다. FourCC[1]는 VP90이며, 간혹 VP09로 표기되기도 한다.

3. 장점

  • 64×64 매크로 블럭을 지원해 압축률이 높아졌다.
  • 움직임 추정 알고리즘의 개선을 통해 CG 영상(게임 영상, 애니메이션 등)의 화질 개선이 큰 편이다.
  • 동일한 대역폭에서 H.264 대비 PSNR 기준으로 35%의 화질 향상과 동일 해상도에서 H.264 대비 50%의 비트레이트를 절약할 수 있다.
  • 오픈 소스이며 무료다. 덕분에 VP9 코덱은 여러 웹 서비스 기업들이 가장 선호하는 코덱이기도 하다.
  • 디코딩에 필요한 연산량은 H.265보다 적다. 데스크탑용 CPU 기준으로 인텔 샌디브릿지 기반의 셀러론(G530~G555) 성능 정도면 유튜브에 업로드된 일반적인 사양의 1080p 60fps 동영상도 그럭저럭 재생하며, 모바일의 경우 LG G Pad 10.1(2014년형) 기준 VP9 720p 30fps는 잘 재생하지만 H.265 720p 30fps는 제대로 재생하지 못한다.

4. 단점

  • H.265에 비해 화질이 소폭 떨어지는 반면, 레퍼런스 인코더 기준으로 VP9 코덱의 인코딩 시간은 H.265보다 훨씬 오래 걸린다. 한국방송공학회에 제출된 논문에 따르면, CBR일 때 H.265와 VP9을 비교하면 1dB의 노이즈율 차이가 난다고 한다. 이를 선형화하면 12%의 화질 차이가 있음을 알 수 있다.
  • 디코딩 연산량이 H.265보다 상대적으로 낮으나, H.264보다 많은건 마찬가지인 데다가, 그래픽 카드와 웹 브라우저가 함께 하드웨어 디코딩을 지원하지 않으면 CPU로 디코딩 해야 하므로 저사양 기기에서 문제를 일으킨다. 그래픽 카드가 가속을 지원하면 재생이 훨씬 가벼워지지만 그러지 않는 컴퓨터에서는 문제가 된다.
    • 그러나 이는 코덱의 문제라기보단 시간의 문제다. VP9이 최신 코덱이다 보니 겪게 되는 불편함이기 때문에, VP9 지원 환경이 보급되면 자연스레 해결될 것이다. 유튜브 외에도 넷플릭스, 프라임 비디오 등에 VP9 코덱을 채택하기 시작하면서, 이 코덱의 하드웨어 디코딩을 지원하는 기기들이 늘어났다. 현재는 OTT 재생용으로 사용되는 스틱형 셋톱박스 (ex. fire TV Stick, Mi TV Stick)에 널리 이용되는 저가의 Amlogic SoC로도 쉽게 구동할 수 있게 됐다.
  • 유튜브에서 밀어주는 코덱이지만, 정작 모든 유저가 코덱을 쓸 수 없다. 1440p 이상의 동영상을 업로드 하면 유튜브가 자동으로 VP9로 인코딩 해주지만, 1080p HD 이하의 영상은 조회수가 많거나 대형 유튜버가 아닌 이상 그냥은 적용해 주지 않는다. 기준도 제멋대로라 어느 정도 자격 조건이 있는 것 같아도 되는 사람이 있고, 안 되는 사람도 있다. H.264 영상에 비해 화질이 좋아지는건 명백하기 때문에, 1080p 영상에 VP9를 강제로 적용하려면 해상도를 2048×1152로 살짝 확대한 후 올리면 된다.

5. 사양

5.1. Profile

  • Profile 0 : 8비트 컬러, 4:2:0 크로마 서브샘플링
  • Profile 1 : 8비트 컬러, 4:2:0, 4:2:2, 4:4:4 크로마 서브샘플링
  • Profile 2 : 10, 12비트 컬러, 4:2:0 크로마 서브샘플링
  • Profile 3 : 10, 12비트 컬러, 4:2:0, 4:2:2, 4:4:4 크로마 서브샘플링

5.2. Level

Level 최대 비트레이트 최대 해상도
최대 프레임속도
1.0 200kbps 256×144 15fps
1.1 800kbps 384×192 30fps
2.0 1.8Mbps 480×256 30fps
2.1 3.6Mbps 640×384 30fps
3.0 7.2Mbps 1080×512 30fps
3.1 12Mbps 1280×768 30fps
4.0 18Mbps 2048×1088 30fps
4.1 30Mbps 2048×1088 60fps
5.0 60Mbps 4096×2176 30fps
5.1 120Mbps 4096×2176 60fps
5.2 180Mbps 4096×2176 120fps
6.0 180Mbps 8192×4352 30fps
6.1 240Mbps 8192×4352 60fps
6.2 480Mbps 8192×4352 120fps

6. 적용

6.1. 하드웨어 가속 지원

  • NVIDIA - 7세대 퓨어비디오 엔진 버전부터 하드웨어 디코딩을 지원한다.(지포스 GTX 960, 950, 후기형 750) 단, GTX 970 이상의 동세대 상위 글카들은 GTX 750 시리즈와 같은 6세대 퓨어비디오라서 지원하지 않는다. 인코딩은 미지원.
  • AMD - VCN 1.0이 적용된 1세대 라이젠 APU부터 하드웨어 디코딩을 제대로 지원하지만, 하드웨어 인코딩은 아직 지원하지 않는다. 단, 동세대 그래픽 카드인 라데온 RX Vega 시리즈는 VCN이 아닌 UVD 7.0에 VCE 4.0이라서 VP9 디코딩조차 지원하지 않고, 7nm 공정으로 미세화된 라데온 VII도 UVD 7.2에 VCE 4.1이라서 이 역시 VP9 디코딩을 지원하지 않는다. 하드웨어 인코딩은 미지원.
  • 삼성전자 - 삼성 엑시노스 7 Octa 7420[2]부터 하드웨어 디코딩을 지원하고, 삼성 엑시노스 9 Octa 8895[3]부터는 하드웨어 인코딩도 지원한다.
  • Intel - 7세대 코어 i 시리즈에 적용된 카비레이크 GPU부터 8비트, 10비트 하드웨어 디코딩과 8비트 하드웨어 인코딩을 지원하고, 모바일용 10세대 코어 i 시리즈에 적용된 아이스레이크 GPU부터 10비트 하드웨어 인코딩도 지원한다. 완전한 하드웨어 디코딩은 아니지만, 4세대 코어 i 시리즈에 적용된 하스웰 GPU부터 6세대 코어 i 시리즈에 적용된 스카이레이크 GPU까지는 부분적인(하이브리드) 하드웨어 디코딩 모드로 작동한다. 8세대 인텔 코어 i에 탑제된 UHD6xx 시리즈부터는 리눅스 한정 VP9 인코딩도 가속이 가능하다. 윈도우에서 VP9 하드웨어 인코딩은 11세대에 탑제된 UHD 7XX 시리즈부터 가능하다.
  • Imagination Technologies - PowerVR 시리즈 6 XT 계열부터 하드웨어 디코딩을 지원한다.
  • Apple - Apple A12부터 디코딩 하드웨어가 들어가 있었으나 애플과 구글의 알력으로 오랫동안 지원하지 못했다가 tvOS 14를 시작으로 iOS 14, iPadOS 14가 출시되고 나서야 사용되기 시작했다.
  • 퀄컴 - 스냅드래곤 820[4]부터 하드웨어 디코딩을 지원하고, 835[5]부터는 하드웨어 인코딩도 지원한다.
  • 미디어텍 - 미디어텍 Helio X10부터 하드웨어 디코딩을 지원한다.
  • 브로드컴 - BCM2711부터 제대로된 VP9 하드웨어 디코딩을 지원한다.[6]

자세한 내용은 영문판 위키백과 참조.

6.2. 지원 소프트웨어

  • 2013년 10월에 FFmpeg에 VP9 디코더가 추가되면서 현재 대부분의 동영상 플레이어에서 재생할 수 있다.
  • 웹 브라우저
    • Microsoft Edge (2016년 8월)
      Windows 10 1607 이후로 MSE(Media Source Extensions)와 함께 정식 지원된다.(같은 사양에서 같은 영상 재생 시 CPU 점유율을 확인해 비교해 보면 크롬 < 파이어폭스 < 엣지 정도다.) VP9 하드웨어 디코딩은 웹 브라우저 중 가장 먼저 지원했다.
      기본 설정에서는 VP9 DXVA 하드웨어 가속을 할 수 있는 환경인지를 확인해 할 수 있으면 VP9으로, 못 하면 H.264로 재생된다. about:flags로 들어가면 그래픽 카드의 가속 지원 여부와 관계없이 VP9에 대한 MSE 사용을 강제하거나 차단할 수도 있다.
    • Firefox (2014년 3월)
      오픈 소스 진영을 확실히 밀어주는 모질라의 웹 브라우저. 웹키트가 아닌 웹 브라우저 중 WebM/VP9 지원이 가장 좋다.
    • Chrome (2013년 8월)
      WebM의 개발을 담당하는 Google이 만든 웹 브라우저. VP9 코덱이 지원되지 않는 그래픽 카드를 통해 YouTube를 시청하는 경우, 그래픽 카드의 스트림 프로세서를 사용해 CPU + GPU 하이브리드 디코딩을 한다. CPU가 그래픽 카드와 함께 일을 하므로 CPU 점유율이 30% 정도 줄어드는 이점이 있다. 다만 Chrome 설정에서 "가능한 경우 하드웨어 가속 사용"에 체크한 경우에만 적용된다. 하지만 게임을 하면서 YouTube를 보는 경우 렉을 유발한다. 이런 경우에는 h264ify 같은 확장 프로그램으로 VP9 코덱 대신 H.264 코덱으로 YouTube를 틀어놔야 한다.[7]
    • Opera (2013년 7월)
    • Safari (2020년 9월)
      14.0부터 지원하기 시작했다.

6.3. 지원 웹 사이트

  • YouTube

    • 1080p 이하의 해상도 영상이 VP9 인코딩으로 제공되려면 유튜브 내부 알고리즘에 의해 일정 구독자 수 혹은 조회수 이상이 되어야 VP9로 2차 인코딩해주며, 동영상을 1440p 2K 이상으로 업로드하면 효율성의 문제인지 VP9로 무조건 인코딩시켜준다. 때문에 원본이 1080p인 영상을 1440p로 잡아늘려 다시 인코딩해서 올리면 무조건 VP9 코덱이 지원되지만, 해상도를 속이는 것이 언짢다면 2048x1152 해상도로 올리면 된다. 이렇게 하면 화질 설정에는 1080p까지밖에 나오지 않지만 무조건 VP9 코덱으로 인코딩된다.
  • 넷플릭스
  • 트위치
  • 프라임 비디오

7. 이후

구글은 더 발전한 VP10도 개발하고 있었다. 한때(2014~2015년도 초) VP10은 VP9에 10비트 지원만 추가한 것이라는 낭설도 돌았으나, 실상은 2015년 8월에서야 소스 코드 작성이 시작됐다. 다만 H.265뿐만 아니라, 모질라 재단의 Daala project도 있고, 시스코도 이들에 자극받았는지 Thor라는 이름[8]의 독자 무료 코덱 개발을 발표한 상황이었다. 2015년 9월 1일부터 무료 코덱을 개발하고 있는 구글, 모질라, 시스코 외에 마이크로소프트, 아마존, 인텔, 넷플릭스가 H.265의 특허권을 가지고 있는 MPEG LA에 대항하기 위해 Alliance for Open Media를 설립했다. # 홈페이지 그리고 구글은 VP10을 이 단체에서 개발하는 코덱인 AV1에 통합시키기로 결정했다.

이 연합을 맺은 덕분인지 구글은 5년 간 이어진 마이크로소프트와의 특허 분쟁을 끝내고 협력하기로 합의했다. #

8. 기타

크롬에서 h264ify 같은 확장 프로그램을 써서 VP9을 쓰지 못하게 하면 1080p60 화질까지만 선택할 수 있다. 이건 확장 프로그램 문제가 아니라 유튜브 측에서 H.264 코덱으로 고화질 영상을 못 보내게 막았기 때문이다. 이는 가로 1920 세로 1080이라는 특정 해상도가 기준이기 때문에 가로 세로 둘 중 어느 하나라도 기준을 넘어가면 제한이 걸린다. 따라서 2560×1078 처럼 가로가 1920을 넘어가는 2.39:1 화면비 영상이나 720×1280, 1080×1920처럼 세로가 1080을 넘어가는 포트레이트 영상도 H.264만으로는 감상할 수 없다.

무료 코덱인 덕에 리듬 게임 DJMAX TECHNIKA Q BGA 동영상 코덱으로 사용됐다.


[1] Four Character Code. 여기서는 동영상 코덱을 표시하는 4바이트 코드를 말한다. [2] 갤럭시 S6, 노트5. [3] 갤럭시 S8, 노트8. [4] LG V20, LG G5. [5] LG V30. (이후 스냅드래곤 845가 들어간 LG G7, LG V35, LG V40) [6] 라즈베리 파이에도 사용됐다. 이 칩셋으로 M.2 PCI Express 인터페이스를 지원하도록 만들고 VP9 가속을 위한 부분을 제외하고는 모두 전력을 끊어 3W 미만의 전력을 소비해 윈도우에 사용할 수 있는 VP9 가속용 카드를 설계하기도 했지만 이 설계도를 구매하겠다는 업체가 나타나지 않아 시장 출시는 실패했다. [7] 이것도 만능은 아닌데, 1440P 이상 화질이 선택 불가능해지고, YouTube의 비트레이트가 넉넉한 편이 아니라 깍두기 현상이 다소 거슬릴 수 있다. [8] 우리가 아는 그 토르가 맞다.



파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r66에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r66 ( 이전 역사)
문서의 r244 ( 이전 역사)