Nvidia NVENC - Nvidia NVENC

Nvidia NVENC (lyhenne sanoista Nv idia Enc oder) on Nvidian grafiikkakorttien ominaisuus, joka suorittaa videokoodauksen ja purkaa tämän laskennallisesti vaativan tehtävän suorittimesta GPU: n erilliseen osaan . Se esiteltiin Kepler -pohjaisen GeForce 600 -sarjan kanssa maaliskuussa 2012.

Kooderia tuetaan monissa suoratoisto- ja tallennusohjelmissa, kuten vMix , Wirecast , Open Broadcaster Software (OBS) ja Bandicam , sekä videoeditointisovelluksissa, kuten Adobe Premiere Pro tai DaVinci Resolve . Se toimii myös Share -pelinkaappauksen kanssa, joka sisältyy Nvidian GeForce Experience -ohjelmistoon.

Kuluttaja kohdennettuja GeForce näytönohjaimet virallisesti tue enintään 3 samanaikaisesti koodaavat videovirtoja riippumatta lasken kortteja asennettu, mutta tämä rajoitus voidaan kiertää päälle Linux- ja Windows- järjestelmissä soveltamalla epävirallinen korjaus on kuljettajia . Näin myös avaa NVIDIA Frame Buffer Capture (NVFBC) , nopea työpöydän kaapata API joka käyttää ominaisuuksia GPU ja sen kuljettaja nopeuttaa kaapata. Ammattikortit tukevat 3 ja rajoittamatonta samanaikaista suoratoistoa korttia kohden riippuen kortin mallista ja pakkauksen laadusta.

Nvidia -siruissa on myös sisäinen dekooderi, NVDEC (lyhenne sanoista Nv idia Dec oder), joka poistaa videon dekoodauksen suorittimesta GPU: n omaan osaan.

Versiot

NVENC: lle on tehty useita laitteistomuutoksia sen käyttöönoton jälkeen ensimmäisen Kepler GPU: n (GK104) kanssa.

NVENC -yhteenveto
GPU -laitteisto H.264 (AVC)

(H.264: ssä NVENC: ssä on aina B-kehystuki, enintään 4096 x 4096 resoluutio ja enintään 8-bittinen syvyys)

H.265 (HEVC)
NVENC -sukupolvi GPU -koodin nimi NVENC per siru Chroma Häviötön koodaus Chroma Häviötön koodaus Resoluutio Värisyvyys B Kehykset
4: 2: 0 4: 4: 4 4: 2: 0 4: 4: 4
1. sukupolvi GK110 1 Joo Ei Ei H.265 ei tueta
GK107
GK106
GK104
2. sukupolvi GM108 0 NVENC -anturia ei ole saatavilla
GM107 1 Joo Joo Joo H.265 ei tueta
3. sukupolvi GM208 1 Ei Ei
GM206 Joo Joo Joo Y? N? Y? N? 4096 x 4096 8-bittinen Ei
GM204 2 Ei Ei
GM200
4. sukupolvi GP108 0 NVENC -anturia ei ole saatavilla
GP107 1 Joo Joo Joo Joo Joo Joo 8192 x 8192 10-bittinen Ei
GP106
GP104-2xx+ 2
GP104-1xx 1
GP102 2
GP100 3 4096 x 4096
5. sukupolvi GV10x 8192 x 8192
TU117 1
6. sukupolvi TU116 Joo
TU106
TU104
TU102
7. sukupolvi GA106 1 Joo Joo Joo Joo Joo Joo 8192 x 8192 10-bittinen Joo
GA104
GA102
GA100 0 NVENC -anturia ei ole saatavilla

Ensimmäinen sukupolvi, Kepler GK1xx

NVENC: n ensimmäinen sukupolvi, jonka jakavat kaikki Kepler -pohjaiset grafiikkasuorittimet, tukee H.264 -profiilia (YUV420, I/P/B -kehykset, CAVLC/CABAC), H.264 SVC Temporal Encode VCE ja Display Encode Mode (DEM).

NVidian dokumentaatiossa sanotaan, että enkooderin huipputeho on 8 × reaaliaikainen tarkkuudella 1920 × 1080 (jossa perustaso "1 ×" on 30  Hz). Todellinen suoritusteho vaihtelee valitun esiasetuksen, käyttäjän ohjaamien parametrien ja asetusten sekä grafiikkasuorittimen/muistin kellotaajuuksien mukaan. Julkaistu 8 × -luokitus on saavutettavissa NVENC: n korkean suorituskyvyn esiasetuksella, joka uhraa pakkaustehokkuuden ja laadun enkooderin suorituskyvyn vuoksi. Laadukas esiasetus on huomattavasti hitaampi, mutta tuottaa vähemmän pakkausartefakteja .

Toinen sukupolvi, Maxwell GM107

Ensimmäisen sukupolven Maxwell- arkkitehtuurin myötä toisen sukupolven NVENC lisää tukea tehokkaalle HP444-profiilille (YUV4: 4: 4, ennakoiva häviötön koodaus) ja lisää enkooderin suorituskykyä jopa 16-kertaiseksi reaaliaikaiseksi, mikä vastaa noin 1080p @ 480  Hz korkean suorituskyvyn esiasetuksella.

Maxwell GM108 ei tue NVENC -laitteistokooderia.

Kolmas sukupolvi, Maxwell GM20x

Toisen sukupolven Maxwell-arkkitehtuurin kanssa käyttöön otettu kolmannen sukupolven NVENC toteuttaa videopakkausalgoritmin High Efficiency Video Coding (eli HEVC, H.265) ja lisää myös H.264-enkooderin suorituskykyä kattamaan 4K-resoluution 60  Hz: llä (2160p60). Se ei kuitenkaan tue B-kehyksiä HEVC-koodauksessa (vain I- ja P-kehykset ). Suurin NVENC HEVC -koodauspuuyksikön (CU) koko on 32 (HEVC -standardi sallii enintään 64) ja sen vähimmäiskoko on 8.

HEVC -koodauksesta puuttuu myös SAO (Sample Adaptive Offset). Mukautuva kvantisointi, ennakoiva nopeudenhallinta, mukautuvat B-kehykset (vain H.264) ja mukautuvat GOP-ominaisuudet lisättiin Nvidia Video Codec SDK 7: n julkaisun myötä. Nämä ominaisuudet tukeutuvat laitteistokiihdytyksen CUDA-ytimiin.

SDK 7 tukee kahta mukautuvan kvantisoinnin muotoa; Spatial AQ ( H.264 ja HEVC) ja Temporal AQ (vain H.264).

Nvidian kuluttajatason (GeForce) kortit ja osa sen alemmista ammattimaisista Quadro- korteista on rajoitettu kolmeen samanaikaiseen koodaustyöhön. Sen huippuluokan Quadro-korteilla ei ole tätä rajoitusta.

Neljäs sukupolvi, Pascal GP10x

Neljännen sukupolven NVENC toteuttaa HEVC Main10 10-bittisen laitteistokoodauksen. Se myös kaksinkertaistaa 4K H.264 & HEVC -koodauksen suorituskyvyn verrattuna edellisen sukupolven NVENC: hen. Se tukee HEVC 8K, 4: 4: 4 värin alinäytteenottoa , häviötöntä koodausta ja näytteen mukautuva offset (SAO).

Nvidia Video Codec SDK 8 lisäsi Pascalin yksinomaisen painotetun ennustustoiminnon ( CUDA -pohjainen). Painotettua ennakointia ei tueta, jos koodausistunto on määritetty B -kehyksillä (H.264).

HEVC- koodausta ei tueta B- kehyksellä , ja suurin CU-koko on 32 × 32.

NVIDIA GT 1030 ja Mobile Quadro P500 ovat GP108 -siruja, jotka eivät tue NVENC -kooderia.

Kannettavan tietokoneen grafiikassa NVIDIA MX Graphics ei sisällä NVENC: tä, koska ne perustuvat Maxwell -sukupolven GM108- tai Pascal -sukupolven GP108 -siruun. GeForce MX350 on GP107 -siru, jonka NVENC -kooderi on poistettu käytöstä valmistuksen aikana.

Viides sukupolvi, Volta GV10x/Turing TU117

Volta NVENC: n suorituskyky on samanlainen kuin Pascalin NVENC. [1]

Se ei tue HEVC B-kehyksiä.

Kuudes sukupolvi, Turing TU10x/TU116

Kuudennen sukupolven NVENC toteuttaa HEVC 8K -koodauksen nopeudella 30 FPS, HEVC B-kehykset ja HEVC B-kehykset vertailuna (jokaisen ja keskitilojen tuella) sekä Alpha HEVC -tuen ja tarjoaa jopa 25%: n bittinopeussäästöt HEVC: lle ja jopa 15% bittinopeussäästöjä H.264: lle. Nvidia GeForce GTX 1650: n ensimmäinen lanseeraus oli kuitenkin vapautettu tästä sukupolvesta, koska se käytti Volta NVENC: tä Turingin sijasta. Nvidia päivitti GTX 1650 -korttien NVENC -kooderin vuonna 2020 käyttämään myös Turingin moottoria. GTX 1650 Super käyttää Turing NVENC -moottoria, koska se perustuu TU116: een eikä alkuperäisessä GTX 1650: ssä käytettyyn TU117: een.

Seitsemäs sukupolvi, Ampere GA10x

Amperella on olennaisesti sama NVENC -sukupolven moottori kuin Turingilla. Vain NVDEC sai tukea AV1 -dekoodaukselle (kalvon rakeisella ).

Käyttöjärjestelmän tuki

Nvidia NVENC SIP ydin on tuettava laiteohjain . Ajuri tarjoaa yhden tai useamman rajapinnan (esim. OpenMAX IL ) NVENC: lle. NVENC SIP ydin pääsee vain kautta omaa NVENC API (toisin kuin avoimen lähdekoodin VDPAU API).

Se on Nvidian GeForce -ohjaimen mukana .

NVENC on saatavana Windows- ja Linux -käyttöjärjestelmille. Vapaan ja avoimen lähdekoodin nouveau laiteajuri ei tue Nvidian NVENC.

Sovellusohjelmistotuki

GPU -suoritus

Koodausnopeuden vertailu

Virrat H.264 -koodaus (1080p30)
GM204 (Tesla M6) 18
GM107 (Tesla M10) 28
GP104 (Tesla P4) 24
TU104 (Tesla T4) 32
P100 36
V100 36

Katso myös

Viitteet

Ulkoiset linkit